citra/src/citra_qt
GPUCode b5d6f645bd
Prepare frontend for multiple graphics APIs (#6347)
* externals: Update dynarmic

* settings: Introduce GraphicsAPI enum

* For now it's OpenGL only but will be expanded upon later

* citra_qt: Introduce backend agnostic context management

* Mostly a direct port from yuzu

* core: Simplify context acquire

* settings: Add option to create debug contexts

* renderer_opengl: Abstract initialization to Driver

* This commit also updates glad and adds some useful extensions which we will use in part 2

* Rasterizer construction is moved to the specific renderer instead of RendererBase.
  Software rendering has been disable to achieve this but will be brought back in the next commit.

* video_core: Remove Init/Shutdown methods from renderer

* The constructor and destructor can do the same job

* In addition move opengl function loading to Qt since SDL already does this. Also remove ErrorVideoCore which is never reached

* citra_qt: Decouple software renderer from opengl part 1

* citra: Decouple software renderer from opengl part 2

* android: Decouple software renderer from opengl part 3

* swrasterizer: Decouple software renderer from opengl part 4

* This commit simply enforces the renderer naming conventions in the software renderer

* video_core: Move RendererBase to VideoCore

* video_core: De-globalize screenshot state

* video_core: Pass system to the renderers

* video_core: Commonize shader uniform data

* video_core: Abstract backend agnostic rasterizer operations

* bootmanager: Remove references to OpenGL for macOS

OpenGL macOS headers definitions clash heavily with each other

* citra_qt: Proper title for api settings

* video_core: Reduce boost usage

* bootmanager: Fix hide mouse option

Remove event handlers from RenderWidget for events that are
already handled by the parent GRenderWindow.
Also enable mouse tracking on the RenderWidget.

* android: Remove software from graphics api list

* code: Address review comments

* citra: Port per-game settings read

* Having to update the default value for all backends is a pain so lets centralize it

* android: Rename to OpenGLES

---------

Co-authored-by: MerryMage <MerryMage@users.noreply.github.com>
Co-authored-by: Vitor Kiguchi <vitor-kiguchi@hotmail.com>
2023-03-27 14:29:17 +03:00
..
applets code: Cleanup and warning fixes from the Vulkan PR (#6163) 2022-11-04 23:32:57 +01:00
camera qt_multimedia_camera: fix image handling in Qt 5.15+ ... (#6231) 2022-12-24 11:45:31 +05:30
configuration Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
debugger main: Globally disable the "?" button on dialogs (#6263) 2023-01-28 21:38:15 +05:30
dumping Add per game configuration options (#6187) 2022-12-08 13:27:25 +02:00
movie core/movie: Add MovieFinished mode 2021-02-08 11:25:35 +08:00
multiplayer Port multiplayer related PRs from yuzu (yuzu-emu/yuzu#9661 and yuzu-emu/yuzu#9713) (#6319) 2023-03-08 00:51:46 +01:00
updater code: Small cleanups and fixes to lambda captures (#6191) 2022-12-17 16:04:10 +01:00
util main: Globally disable the "?" button on dialogs (#6263) 2023-01-28 21:38:15 +05:30
aboutdialog.cpp Use unique_ptr on all ui objects from .ui files (#5511) 2020-10-01 09:23:01 +08:00
aboutdialog.h Clean up aboutdialog.h 2018-08-25 14:45:50 +02:00
aboutdialog.ui citra-qt: Add build date in about dialog 2018-06-18 21:21:00 +08:00
bootmanager.cpp Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
bootmanager.h Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
cheats.cpp main: Globally disable the "?" button on dialogs (#6263) 2023-01-28 21:38:15 +05:30
cheats.h citra_qt: Implement UI for adding/editing/deleting cheats 2019-02-02 08:15:27 +08:00
cheats.ui Improve tab ordering (#6019) 2022-05-13 20:36:09 +05:30
citra-qt.rc Fix: fatal error CVT1100 when compiling manifest file (#5322) 2020-06-20 13:50:33 -05:00
CMakeLists.txt Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
compatdb.cpp Merge pull request #5501 from FearlessTobi/port-1064-3948 2021-04-23 22:58:08 -07:00
compatdb.h compatdb: Use a seperate endpoint for testcase submission 2018-10-27 12:20:03 +02:00
compatdb.ui ui: Fix Game Compatibility list translations 2022-09-07 13:08:05 +02:00
compatibility_list.cpp Stop splitting includes 2018-10-20 16:31:35 +02:00
compatibility_list.h Stop splitting includes 2018-10-20 16:31:35 +02:00
discord_impl.cpp discord_impl: Update the client ID (#5449) 2020-07-08 23:45:54 +02:00
discord_impl.h Address a bunch of review comments 2018-10-20 10:35:55 -04:00
discord.h Add Discord Rich Presence Support (#3883) 2018-08-20 11:20:33 +02:00
game_list_p.h code: Small cleanups and fixes to lambda captures (#6191) 2022-12-17 16:04:10 +01:00
game_list_worker.cpp yuzu: Resolve -Wextra-semi warnings 2020-08-28 16:43:17 +02:00
game_list_worker.h yuzu/game_list_worker: Silence warnings 2019-11-02 18:55:08 +01:00
game_list.cpp qt: Enable application options for system applications. (#6286) 2023-02-15 21:24:54 +01:00
game_list.h Add per game configuration options (#6187) 2022-12-08 13:27:25 +02:00
hotkeys.cpp citra_qt: Improvements to hotkeys and ui state management (#6224) 2023-02-04 19:06:20 +01:00
hotkeys.h citra_qt: Improvements to hotkeys and ui state management (#6224) 2023-02-04 19:06:20 +01:00
Info.plist macOS: Make Citra show up in the Launchpad Games folder (#6245) 2023-01-10 01:27:11 +01:00
loading_screen.cpp remove unnecessary headers 2020-12-06 15:59:13 -03:00
loading_screen.h remove unnecessary headers 2020-12-06 15:59:13 -03:00
loading_screen.ui Loading Screen: Vertically Center everything 2020-01-22 17:26:27 -07:00
macos_authorization.h macos permission: address review comments 2022-01-10 15:30:41 +01:00
macos_authorization.mm Camera fixes (#6181) 2022-12-17 16:05:04 +01:00
main.cpp Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
main.h citra_qt: Prevent OS sleep on Linux when a game is running (#6249) 2023-03-23 19:37:10 +01:00
main.ui Implement app management support (suspend, resume, close, etc) (#6322) 2023-03-10 00:44:26 +01:00
precompiled_headers.h Port yuzu-emu/yuzu#9300: "CMake: Use precompiled headers to improve compile times" (#6213) 2022-12-17 16:06:38 +01:00
qt_image_interface.cpp specify size of buffer and use openglstate in getteximageoes 2019-11-09 12:58:17 -07:00
qt_image_interface.h specify size of buffer and use openglstate in getteximageoes 2019-11-09 12:58:17 -07:00
uisettings.cpp Adding Midnight_Blue to themes 2022-05-17 09:48:02 -04:00
uisettings.h citra_qt: Improvements to hotkeys and ui state management (#6224) 2023-02-04 19:06:20 +01:00