summaryrefslogtreecommitdiffstats
path: root/src/yuzu_cmd/emu_window/emu_window_sdl2.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_core: add null backendLiam2022-11-291-0/+2
|
* chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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 shadowingMorph2022-06-141-1/+1
|
* yuzu_cmd: Reduce unused includesameerj2022-03-201-1/+0
|
* yuzu_cmd: Use new inputgerman772021-11-251-7/+4
|
* yuzu-cmd: hide cursor when in fullscreensan2021-08-011-0/+3
| | | 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 instancelat9nq2021-07-301-1/+4
| | | | | | | 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().
* emu_window: unsigned -> u32Lioncash2021-04-231-1/+1
| | | | This is more concise and consistent with the rest of the codebase.
* inputCommon: Mouse fixesgerman772021-02-281-0/+7
|
* yuzu: Various frontend improvements to avoid crashes and improve experience on Linux.bunnei2021-02-141-0/+3
|
* Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main threadcomex2020-11-231-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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 presentationReinUsesLisp2020-09-201-8/+1
| | | | | Emulated mailbox presentation was causing performance issues on Nvidia's OpenGL driver. Remove it.
* input_common: Eliminate most global stateLioncash2020-08-271-1/+9
| | | | | | | | | | | | | Abstracts most of the input mechanisms under an InputSubsystem class that is managed by the frontends, eliminating any static constructors and destructors. This gets rid of global accessor functions and also allows the frontends to have a more fine-grained control over the lifecycle of the input subsystem. This also makes it explicit which interfaces rely on the input subsystem instead of making it opaque in the interface functions. All that remains to migrate over is the factories, which can be done in a separate change.
* frontend: sdl2: emu_window: Implement separate presentation thread.bunnei2020-02-261-2/+12
|
* yuzu: Implement Vulkan frontendReinUsesLisp2020-01-291-0/+3
| | | | | Adds a Qt and SDL2 frontend for Vulkan. It also finishes the missing bits on Vulkan initialization.
* Add FPS to SDL title barjroweboy2019-09-221-0/+3
| | | | | | Also fix a small issue with incorrect shutdown ordering in SDL. Previously the system would still be running so the telemetry task didn't launch and detached_tasks would assert(count == 0)
* emu_window: Pass OnMinimalClientAreaChangeRequest argument by copyReinUsesLisp2019-05-261-2/+1
| | | | | There's no performance improvement in passing an unsigned pair by reference.
* yuzu_cmd: Split emu_window OpenGL implementation into its own fileReinUsesLisp2019-05-251-19/+4
|
* SDL Frontend: Add shared context supportJames Rowe2019-01-221-0/+2
|
* implemented touch in Qt and SDLNeatNit2018-10-091-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | change TouchToPixelPos to return std::pair<int, int> static_cast (SDL) various minor style and code improvements style - PascalCase for function names made touch events private const pointer arg in touch events make TouchToPixelPos a const member function did I do this right? braces on barely-multiline if remove question comment (confirmed in Discord) fixed consts remove unused parameter from TouchEndEvent DRY - High-DPI scaled touch put in separate function also fixes a bug where if you start touching (with either mouse or touchscreen) and drag the mouse to the LEFT of the emulator window, the touch point jumps to the RIGHT side of the touchscreen; draggin to above the window would make it jump to the bottom. implicit conversion from QPoint to QPointF, apparently I have no idea what const even means but I'll put it here anyway remove unused or used-once variables make touch scaling functions const, and put their implementations together removed unused FingerID parameters QTouchEvent forward declaration; add comment to TouchBegin that was lost in an edit better DRY in SDL To do -> TODO(NeatNit) remove unused include
* core: Namespace EmuWindowLioncash2018-08-121-1/+1
| | | | Gets the class out of the global namespace.
* sdl: add check for GL extension supportBreadFish642018-06-041-0/+3
|
* SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607)adityaruplaha2018-04-211-1/+4
|
* Massive removal of unused modulesJames Rowe2018-01-131-0/+59