citra-nightly/src/core
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
..
arm build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
cheats citra_android: Storage Access Framework implementation (#6313) 2023-03-23 14:30:52 +01:00
dumping Add per game configuration options (#6187) 2022-12-08 13:27:25 +02:00
file_sys apt: Implement additional applet state management. (#6303) 2023-02-28 14:09:54 +02:00
frontend Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
gdbstub src/CMakeLists: Enforce multiple warnings on MSVC (#5692) 2022-11-09 23:14:28 +01:00
hle applet: Fix HLE applet pre-start lifecycle. (#6362) 2023-03-25 22:36:14 +01:00
hw citra_android: Storage Access Framework implementation (#6313) 2023-03-23 14:30:52 +01:00
loader core: Detect and return error if GBA virtual console is loaded. (#6257) 2023-01-23 15:21:57 +05:30
rpc core: Remove unnecessary enum casts in log calls 2020-12-29 06:39:21 +01:00
tracer CI: fix recent build issues (#6148) 2022-10-05 18:43:07 +02:00
3ds.h Move screen size constants from video_core to core 2017-05-27 18:41:24 -07:00
CMakeLists.txt Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
core.cpp Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
core.h Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
core_timing.cpp Port yuzu-emu/yuzu#4437: "core_timing: Make use of uintptr_t to represent user_data" (#5499) 2022-11-06 02:24:45 +01:00
core_timing.h Port yuzu-emu/yuzu#4437: "core_timing: Make use of uintptr_t to represent user_data" (#5499) 2022-11-06 02:24:45 +01:00
custom_tex_cache.cpp custom_tex_cache: Remove reliance on the global system instance (#5252) 2020-04-20 21:50:16 -05:00
custom_tex_cache.h custom_tex_cache: Remove reliance on the global system instance (#5252) 2020-04-20 21:50:16 -05:00
global.h Refactored out the horrible static var in CoreTiming 2020-03-28 15:47:36 +00:00
memory.cpp Add 3GX plugin loader (#6172) 2022-12-11 10:08:58 +02:00
memory.h Add 3GX plugin loader (#6172) 2022-12-11 10:08:58 +02:00
mmio.h clang-format fixes 2020-02-13 17:39:15 +08:00
movie.cpp Add per game configuration options (#6187) 2022-12-08 13:27:25 +02:00
movie.h Minor improvements to the UX 2021-02-08 11:25:38 +08:00
perf_stats.cpp Add per game configuration options (#6187) 2022-12-08 13:27:25 +02:00
perf_stats.h citra_qt: Allow enabling frame advance before emulation start 2021-02-08 11:25:37 +08: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
savestate.cpp Merge pull request #5448 from zhaowenlan1779/rerecording 2022-02-18 20:29:36 -07:00
savestate.h core, citra_qt: Implement a save states file format and slot UI 2020-02-18 13:19:52 +08:00
telemetry_session.cpp Prepare frontend for multiple graphics APIs (#6347) 2023-03-27 14:29:17 +03:00
telemetry_session.h common/telemetry: Migrate namespace into the Common namespace 2021-01-04 05:17:13 +01:00