summaryrefslogtreecommitdiff
path: root/src/yuzu_cmd/emu_window (follow)
Commit message (Collapse)AuthorAgeFilesLines
* hid_core: Move hid to it's own subprojectGravatar Narr the Reg2024-01-051-1/+1
|
* yuzu_cmd: Report more SDL errorsGravatar Nikita Strygin2023-12-302-2/+3
|
* core: frontend: Refactor GraphicsContext to its own module.Gravatar bunnei2023-06-031-0/+2
|
* input_common: Split mouse input into individual devicesGravatar Narr the Reg2023-02-161-2/+6
|
* yuzu_cmd: Fix mismatching controller inputGravatar german772023-02-041-2/+2
|
* yuzu_cmd: Fix touch inputGravatar german772023-02-042-33/+21
|
* gl_device: Use a more robust way to use strict context modeGravatar Alexander Orzechowski2022-12-131-0/+2
| | | | | | Instead of checking a environment variable which may not actually exist or is just wrong, ask QT if it's running on the wayland platform.
* emu_window_sdl2: Respect hidpiGravatar Alexander Orzechowski2022-12-131-1/+1
| | | | | | Use SDL_GL_GetDrawableSize instead of SDL_GetWindowSize which will return the true size our swapchain needs to be in even for hidpi displays.
* Merge pull request #9374 from liamwhite/externalsGravatar liamwhite2022-12-041-6/+0
|\ | | | | externals: update dynarmic, SDL2
| * externals: update dynarmic, SDL2Gravatar Liam2022-12-041-6/+0
| |
* | Merge pull request #9344 from liamwhite/nullGravatar bunnei2022-12-034-2/+79
|\ \ | |/ |/| video_core: add null backend
| * video_core: add null backendGravatar Liam2022-11-284-2/+79
| |
* | Merge pull request #9303 from liamwhite/new-vulkan-initGravatar Matías Locatti2022-12-021-15/+12
|\ \ | |/ |/| Vulkan: update initialization
| * Vulkan: update initializationGravatar Liam2022-11-271-15/+12
| | | | | | | | Co-authored-by: bylaws <bylaws@users.noreply.github.com>
* | yuzu-cmd: Fix input callback crash on closeGravatar german772022-11-271-0/+2
|/
* Add break for default casesGravatar Kyle Kienapfel2022-11-131-0/+1
| | | | | | | | | | | Visual Studio has an option to search all files in a solution, so I did a search in there for "default:" looking for any missing break statements. I've left out default statements that return something, and that throw something, even if via ThrowInvalidType. UNREACHABLE leads towards throw R_THROW macro leads towards a return
* chore: make yuzu REUSE compliantGravatar Andrea Pappacoda2022-07-272-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
* yuzu_cmd: Eliminate variable shadowingGravatar Morph2022-06-135-7/+7
|
* yuzu-cmd: ignore bogus timeous from SDLGravatar Liam2022-06-101-1/+9
|
* input_common: touch: Rewrite touch driver to support multiple touch pointsGravatar german772022-05-231-1/+1
|
* general: Convert source file copyright comments over to SPDXGravatar Morph2022-04-234-12/+8
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* Merge pull request #8027 from lat9nq/cmd-fullscreen-sizeGravatar bunnei2022-04-131-6/+7
|\ | | | | emu_window_sdl2: Set window size to display dimensions for exclusive fullscreen
| * emu_window_sdl2: Set window size to display dimensions for exclusive fullscreenGravatar lat9nq2022-03-151-6/+7
| | | | | | | | | | Since SDL2 does not automatically resize the canvas when entering fullscreen mode, resize the window to desktop display dimensions.
* | yuzu_cmd: Reduce unused includesGravatar ameerj2022-03-203-4/+0
|/
* yuzu_cmd: Use new inputGravatar german772021-11-243-45/+39
|
* yuzu-cmd/CMakeLists: Correct attribution for this function.Gravatar Fernando Sahmkow2021-08-081-0/+1
|
* yuzu-cmd: hide cursor when in fullscreenGravatar san2021-08-014-0/+9
| | | Exposed the SDL_ShowCursor function to EmuWindow baseclass. When creating the window (GL or VK) in fullscreen it now automatically hides the cursor.
* emu_window: Remove global system instanceGravatar lat9nq2021-07-306-10/+21
| | | | | | | It was just the one in emu_window_sdl2, but since _gl and _vk inherit from it, they all needed adjustments. Leaves just the one auto system& in main().
* general: Implement FullscreenMode enumerationGravatar lat9nq2021-07-231-2/+2
| | | | | Prevents us from using an unclear 0 or 1 to describe the fullscreen mode.
* yuzu_cmd: Make use of fullscreen_mode settingGravatar lat9nq2021-07-211-15/+29
| | | | | | | Reverts 48259de0c1a6a1aca77eec31cb8aca5ca2b680dd to the previous hierarchy and fixes the resolution issue with this fullscreen mode. yuzu-cmd will now read the fullscreen_mode setting and use it appropriately.
* yuzu-cmd: Fullscreen Improvements (#6656)Gravatar san2021-07-213-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * emu_window_sdl2_vk: Use the generated SDL config On Linux, due to the way we include SDL2 as a submodule, it makes it difficult for us to specify which SDL_config.h we intended to include. Before, CMake would default to the dummy one included with SDL and ignore the generated one. This tells CMake to use the generated one. In addition, we define USING_GENERATED_CONFIG_H to throw an error in case the dummy config is used by accident. Fixes Vulkan not working on Linux yuzu-cmd. * emu_window_sdl2_vk: Specify the window manager if it should be supported The original language "not implemented" is wrong if the implementation exists but is not compiled. This causes a bit of a debugging headache when it goes wrong. Log it if the window manager is known before exiting. * sdl_impl, emu_window: Remove clang ignore Fixed upstream by libsdl-org/SDL@25fc40b0bd44c484051064bc6b945ea9943f88dd * Enable fullscreen support for Vulkan on yuzu-cmd Hooked up the existing SDL2 logic for fullscreen support in the Vulkan window of yuzu-cmd. * Change fullscreen logic to attempt desktop resolution first on yuzu-cmd Changed the order in which we attempt to switch to fullscreen. First try desktop resolution first, if it fails fall back to streched fullscreen using windowed resolution. Co-authored-by: lat9nq <22451773+lat9nq@users.noreply.github.com> Co-authored-by: san <san+gitkraken@smederijmerlijn.nl>
* sdl_impl, emu_window: Remove clang ignoreGravatar lat9nq2021-07-163-25/+0
| | | | | Fixed upstream by libsdl-org/SDL@25fc40b0bd44c484051064bc6b945ea9943f88dd
* emu_window_sdl2_vk: Specify the window manager if it should be supportedGravatar lat9nq2021-07-161-0/+15
| | | | | | | The original language "not implemented" is wrong if the implementation exists but is not compiled. This causes a bit of a debugging headache when it goes wrong. Log it if the window manager is known before exiting.
* emu_window_sdl2_vk: Use the generated SDL configGravatar lat9nq2021-07-161-0/+6
| | | | | | | | | | | On Linux, due to the way we include SDL2 as a submodule, it makes it difficult for us to specify which SDL_config.h we intended to include. Before, CMake would default to the dummy one included with SDL and ignore the generated one. This tells CMake to use the generated one. In addition, we define USING_GENERATED_CONFIG_H to throw an error in case the dummy config is used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
* Avoid -Wshadow warningGravatar Clément Gallet2021-06-051-1/+1
| | | Co-authored-by: Mai M. <mathew1800@gmail.com>
* yuzu-cmd: Fix OpenGL renderingGravatar Clément Gallet2021-06-042-12/+6
|
* perf_stats: Rework FPS counter to be more accurateGravatar ameerj2021-05-151-1/+1
| | | | | | | | | The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case. This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics. The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values. The status bar update frequency was also changed from 2 seconds to 500ms.
* emu_window: unsigned -> u32Gravatar Lioncash2021-04-232-2/+2
| | | | This is more concise and consistent with the rest of the codebase.
* general: Ignore implicit-fallthrough for SDL.hGravatar lat9nq2021-04-183-0/+27
| | | | | | SDL 2.0.14 introduces an incompatibility with Clang, causing it to trigger -Wimplicit-fallthrough even though it is marked. Ignore it for now, with a comment mentioning why this is needed.
* common: Move settings to common from core.Gravatar bunnei2021-04-142-2/+2
| | | | - Removes a dependency on core and input_common from common.
* inputCommon: Mouse fixesGravatar german772021-02-272-3/+28
|
* yuzu: Various frontend improvements to avoid crashes and improve experience ↵Gravatar bunnei2021-02-144-0/+24
| | | | on Linux.
* Merge pull request #5869 from german77/mousePanningGravatar bunnei2021-02-111-1/+2
|\ | | | | input_common: Add mouse panning
| * Add mouse panningGravatar german2021-02-071-1/+2
| |
* | renderer_opengl: Update OpenGL backend version requirement to 4.6Gravatar Morph2021-02-071-19/+7
|/
* Add mutitouch support for touch screensGravatar german2021-01-151-6/+6
|
* Merge pull request #4939 from german77/MouseInputGravatar bunnei2020-11-292-5/+4
|\ | | | | InputCommon: Implement full mouse support
| * Implement full mouse supportGravatar german2020-11-252-5/+4
| |
* | Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off ↵Gravatar comex2020-11-232-59/+61
|/ | | | | | | | | | | | | | | | | | | | | | | | | | main thread EmuWindow::PollEvents was called from the GPU thread (or the CPU thread in sync-GPU mode) when swapping buffers. It had three implementations: - In GRenderWindow, it didn't actually poll events, just set a flag and emit a signal to indicate that a frame was displayed. - In EmuWindow_SDL2_Hide, it did nothing. - In EmuWindow_SDL2, it did call SDL_PollEvents, but this is wrong because SDL_PollEvents is supposed to be called on the thread that set up video - in this case, the main thread, which was sleeping in a busyloop (regardless of whether sync-GPU was enabled). On macOS this causes a crash. To fix this: - Rename EmuWindow::PollEvents to OnFrameDisplayed, and give it a default implementation that does nothing. - In EmuWindow_SDL2, do not override OnFrameDisplayed, but instead have the main thread call SDL_WaitEvent in a loop.
* renderer_opengl: Remove emulated mailbox presentationGravatar ReinUsesLisp2020-09-206-40/+10
| | | | | Emulated mailbox presentation was causing performance issues on Nvidia's OpenGL driver. Remove it.