dolphin/Source/Core/VideoCommon
Scott Mansell 8a23629345 Split AbstractGfx out of Renderer
Almost all the virtual functions in Renderer are part of dolphin's
"graphics api abstraction layer", which has slowly formed over the
last decade or two.

Most of the work was done previously with the introduction of the
various "AbstractX" classes, associated with texture cache cleanups
and implementation of newer graphics APIs (Direct3D 12, Vulkan, Metal).
We are simply taking the last step and yeeting these functions out
of Renderer.

This "AbstractGfx" class is now completely agnostic of any details
from the flipper/hollywood GPU we are emulating, though somewhat
specialized.

(Will not build, this commit only contains changes outside VideoBackends)
2023-01-31 18:46:02 +13:00
..
GraphicsModSystem VideoCommon: call texture load graphics mod hook when Dolphin loads a texture 2022-10-28 19:24:43 -05:00
AbstractFramebuffer.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractFramebuffer.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractGfx.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
AbstractGfx.h Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
AbstractPipeline.h VideoCommon: Add separate pipeline usage for UberShaders 2022-09-19 16:28:24 -05:00
AbstractShader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractStagingTexture.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
AbstractStagingTexture.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractTexture.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
AbstractTexture.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AsyncRequests.cpp VideoCommon/Fifo: Pass Core::System to methods. 2022-12-10 17:16:26 +01:00
AsyncRequests.h Fix crashes in dual core mode on a PI_FIFO_RESET 2022-08-18 13:38:37 -07:00
AsyncShaderCompiler.cpp Allow to interrupt shader precompilation by stopping emulation 2022-06-10 17:11:32 +02:00
AsyncShaderCompiler.h Allow to interrupt shader precompilation by stopping emulation 2022-06-10 17:11:32 +02:00
BPFunctions.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
BPFunctions.h Resolve GCC Warnings 2022-06-30 15:26:48 -05:00
BPMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BPMemory.h Fifo analyzer: Improve some BP descriptions 2022-08-29 11:10:05 -07:00
BPStructs.cpp TextureCache: Refactor with smart pointers 2023-01-31 18:29:47 +13:00
BPStructs.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BoundingBox.cpp VideoCommon: De-globalize PixelShaderManager class. 2022-12-27 20:13:24 +01:00
BoundingBox.h Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
CMakeLists.txt Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
CPMemory.cpp Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
CPMemory.h Simplify saving CP state 2022-10-09 19:32:59 -07:00
CPUCull.cpp VideoCommon: Explicitly disable fp_contract for CPUCull 2023-01-25 02:21:56 -06:00
CPUCull.h VideoCommon: Add class for quickly transforming and culling vertices on the CPU 2023-01-25 02:21:56 -06:00
CPUCullImpl.h VideoCommon: Add class for quickly transforming and culling vertices on the CPU 2023-01-25 02:21:56 -06:00
CommandProcessor.cpp PowerPC: Parametrize LR macro. 2023-01-27 15:22:43 +01:00
CommandProcessor.h VideoCommon/Fifo: Refactor to class, move to Core::System. 2022-12-10 17:16:19 +01:00
ConstantManager.h VideoCommon: Add class for quickly transforming and culling vertices on the CPU 2023-01-25 02:21:56 -06:00
DataReader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DriverDetails.cpp VideoBackends:Multiple: More GPUs with broken subgroup ops 2022-10-08 04:44:48 -05:00
DriverDetails.h VideoBackends:Multiple: More GPUs with broken subgroup ops 2022-10-08 04:44:48 -05:00
Fifo.cpp VideoCommon/Fifo: Pass Core::System to methods. 2022-12-10 17:16:26 +01:00
Fifo.h VideoCommon/Fifo: Pass Core::System to methods. 2022-12-10 17:16:26 +01:00
FrameDumpFFMpeg.cpp Rename FrameDump.{cpp,h} to FrameDumpFFMpeg.{cpp,h} 2023-01-31 18:45:29 +13:00
FrameDumpFFMpeg.h Rename FrameDump.{cpp,h} to FrameDumpFFMpeg.{cpp,h} 2023-01-31 18:45:29 +13:00
FrameDumper.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
FrameDumper.h Rename FrameDump.{cpp,h} to FrameDumpFFMpeg.{cpp,h} 2023-01-31 18:45:29 +13:00
FramebufferManager.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
FramebufferManager.h VideoCommon/FramebufferManager: Rename m_efb_cache_tiles_wide to m_efb_cache_tile_row_stride 2022-11-15 16:04:41 -08:00
FramebufferShaderGen.cpp Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
FramebufferShaderGen.h VideoBackends:Metal: MSAA support 2022-07-21 20:44:19 -05:00
FreeLookCamera.cpp Common: Refactor PointerWrap 2022-05-25 13:06:41 -07:00
FreeLookCamera.h VideoCommon: update Free Look camera's 'FieldOfView' function to 'FieldOfViewMultiplier' to better reflect usage 2021-10-08 18:17:20 -05:00
GXPipelineTypes.h VideoCommon: Add vertex shader point and line expansion 2022-10-22 20:13:24 -05:00
GeometryShaderGen.cpp VideoCommon: Move repeated point/line expansion code to ShaderGenCommon 2022-10-22 20:13:24 -05:00
GeometryShaderGen.h Fix ambiguous uses of format_to 2022-01-13 11:11:08 -08:00
GeometryShaderManager.cpp VideoCommon: De-globalize GeometryShaderManager class. 2022-12-29 15:33:19 +01:00
GeometryShaderManager.h VideoCommon: De-globalize GeometryShaderManager class. 2022-12-29 15:33:19 +01:00
HiresTextures.cpp Timer: protect usages of ms timers from rollover 2022-08-02 22:24:06 -07:00
HiresTextures.h VideoCommon: trigger mod calls in TextureCacheBase (efb/xfb calls), VertexManagerBase (draw calls), and VertexShaderManager (projection calls) 2022-06-27 18:20:52 -05:00
HiresTextures_DDSLoader.cpp IOFile: Make origin parameter to Seek() an enum class. 2022-01-29 06:49:21 +01:00
IndexGenerator.cpp IndexGenerator: Fix off-by-one in GetRemainingIndices 2023-01-04 10:42:00 -08:00
IndexGenerator.h VideoCommon: Add vertex shader point and line expansion 2022-10-22 20:13:24 -05:00
LightingShaderGen.cpp VideoCommon: Rename norm0/norm1/norm2 to normal/tangent/binormal 2022-04-22 16:54:36 -07:00
LightingShaderGen.h LightingShaderGen: Make s_lighting_struct not inline 2021-12-22 15:17:52 -08:00
LookUpTables.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NativeVertexFormat.h VideoCommon: Zero PortableVertexDeclarations on initialization 2022-11-05 02:02:53 -05:00
NetPlayChatUI.cpp Externals: Update imgui to 1.85 2021-10-26 15:07:57 -07:00
NetPlayChatUI.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayGolfUI.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayGolfUI.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OnScreenDisplay.cpp Timer: protect usages of ms timers from rollover 2022-08-02 22:24:06 -07:00
OnScreenDisplay.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OnScreenUI.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
OnScreenUI.h Move Presenting, Dumping and ImGui out of Renderer 2023-01-31 18:45:21 +13:00
OpcodeDecoding.cpp VideoCommon: De-globalize VertexShaderManager class. 2022-12-28 15:52:29 +01:00
OpcodeDecoding.h OpcodeDecoding: Get vertex size from the loader 2022-09-19 01:14:53 +02:00
PerfQueryBase.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PerfQueryBase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PerformanceMetrics.cpp Tie Speed to CPU Speed and not VPS 2023-01-29 13:33:48 -05:00
PerformanceMetrics.h Tie Speed to CPU Speed and not VPS 2023-01-29 13:33:48 -05:00
PerformanceTracker.cpp PerformanceTracker: Add ownership of m_log_name. 2023-01-06 20:27:25 +01:00
PerformanceTracker.h PerformanceTracker: Add ownership of m_log_name. 2023-01-06 20:27:25 +01:00
PixelEngine.cpp HW/ProcessorInterface: Refactor to class, move to Core::System. 2023-01-04 03:00:10 +01:00
PixelEngine.h VideoCommon/PixelEngine: Pass Core::System to methods. 2022-12-11 21:57:30 +01:00
PixelShaderGen.cpp PixelShaderGen: Clamp texture layer when using manual texture sampling with stereoscopic 3D 2022-12-27 13:45:13 -08:00
PixelShaderGen.h BPMemory: Make TevKSel more clear 2022-08-29 11:10:05 -07:00
PixelShaderManager.cpp VideoCommon/PixelShaderManager: Rename s_ variables. 2022-12-27 20:20:27 +01:00
PixelShaderManager.h VideoCommon/PixelShaderManager: Rename s_ variables. 2022-12-27 20:20:27 +01:00
PostProcessing.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
PostProcessing.h VideoCommon: Convert OptionType to enum class 2022-02-17 10:03:08 -08:00
Present.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
Present.h Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
RenderBase.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
RenderBase.h Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
RenderState.cpp VideoCommon: Fix IsDualSrc check for dst blend factors 2022-07-17 20:50:53 -05:00
RenderState.h VideoCommon: Remove dstalpha from BlendingState 2022-07-15 15:31:47 -05:00
ShaderCache.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
ShaderCache.h VideoCommon: Add separate pipeline usage for UberShaders 2022-09-19 16:28:24 -05:00
ShaderGenCommon.cpp PixelShaderGen: Clamp texture layer when using manual texture sampling with stereoscopic 3D 2022-12-27 13:45:13 -08:00
ShaderGenCommon.h VideoCommon: Move repeated point/line expansion code to ShaderGenCommon 2022-10-22 20:13:24 -05:00
Spirv.cpp Merge pull request #10946 from Pokechu22/remove-iLog 2022-08-05 22:42:09 +12:00
Spirv.h VideoBackends / VideoCommon: refactor Vulkan to use new SPIRV functionality 2022-06-24 18:09:53 -05:00
Statistics.cpp VideoCommon: Add statistics for draw done and token commands 2022-09-26 16:19:54 -07:00
Statistics.h VideoCommon/Statistics: Require semicolons after statistics macros 2022-10-29 15:39:41 -07:00
TMEM.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
TMEM.h Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
TextureCacheBase.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
TextureCacheBase.h TextureCache: Add content locking 2023-01-31 18:29:47 +13:00
TextureConfig.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
TextureConfig.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConversionShader.cpp VideoCommon: Fix OpenGL ES GPU texture decoding 2022-08-20 23:21:23 +02:00
TextureConversionShader.h VideoCommon: Reduce duplicates of non-palette-requiring texture decode shaders 2022-06-16 02:08:45 -05:00
TextureConverterShaderGen.cpp Fix OpenGL error on M1 Mac. 2022-07-17 08:54:39 -04:00
TextureConverterShaderGen.h Restructure parameters to TetxureConverterShaderGen/TextureConversionShader 2022-07-16 00:07:10 -07:00
TextureDecoder.h VideoCommon: add function to check whether TextureFormat is a valid value 2022-06-26 00:45:13 -05:00
TextureDecoder_Common.cpp Add notes about precision of YUV->RGB conversion factors for XFB 2022-07-16 00:07:10 -07:00
TextureDecoder_Generic.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
TextureDecoder_Util.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_x64.cpp Remove casts to integers for texture and EFB formats 2022-07-15 12:29:40 -07:00
TextureInfo.cpp HW/Memmap: Refactor Memory to class, move to Core::System. 2022-12-03 13:27:02 +01:00
TextureInfo.h VideoCommon: add support for setting and getting the stage from the texture info 2022-06-26 00:45:13 -05:00
UberShaderCommon.cpp Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
UberShaderCommon.h VideoCommon: Allow BitfieldExtract in specialized shaders 2021-11-17 20:04:33 -08:00
UberShaderPixel.cpp Merge pull request #10836 from iwubcode/d3d_uint_fix 2022-10-18 12:12:08 -04:00
UberShaderPixel.h VideoCommon: Better driver bug handling 2022-07-13 21:51:24 -05:00
UberShaderVertex.cpp Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
UberShaderVertex.h VideoCommon: Name ubershaders 2022-06-16 02:08:45 -05:00
VertexLoader.cpp Fix VertexLoader.cpp using the wrong size for texture matrix indices without a corresponding texture 2022-11-22 17:49:54 -08:00
VertexLoader.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderARM64.cpp VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderARM64.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderBase.cpp VertexLoaderTester: Add assertions for position/binormal/tangent caches 2023-01-13 15:38:00 -08:00
VertexLoaderBase.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderManager.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
VertexLoaderManager.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderUtils.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderX64.cpp VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderX64.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoader_Color.cpp VertexLoader: Remove "too many initializer values" workaround functions 2022-10-25 15:29:09 -07:00
VertexLoader_Color.h VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
VertexLoader_Normal.cpp VertexLoader: Fix loading tangent/binormal caches with NormalIndex3 2023-01-13 15:38:00 -08:00
VertexLoader_Normal.h VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
VertexLoader_Position.cpp VertexLoader: Don't write position_cache if vertex is skipped 2023-01-13 15:38:00 -08:00
VertexLoader_Position.h VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
VertexLoader_TextCoord.cpp VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoader_TextCoord.h VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
VertexManagerBase.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
VertexManagerBase.h VideoCommon: Cull vertices on the CPU 2023-01-25 02:21:56 -06:00
VertexShaderGen.cpp Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
VertexShaderGen.h Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
VertexShaderManager.cpp VideoCommon: Add class for quickly transforming and culling vertices on the CPU 2023-01-25 02:21:56 -06:00
VertexShaderManager.h VideoCommon: Add class for quickly transforming and culling vertices on the CPU 2023-01-25 02:21:56 -06:00
VideoBackendBase.cpp Split AbstractGfx out of Renderer 2023-01-31 18:46:02 +13:00
VideoBackendBase.h VI: Implement post-scanout XFB output 2021-08-03 23:37:50 -04:00
VideoCommon.h Replace BitUtils with C++20: Counting Zeroes 2022-12-21 04:17:00 -06:00
VideoConfig.cpp Merge pull request #11205 from TellowKrinkle/AutoPresent 2023-01-30 09:01:18 +01:00
VideoConfig.h Refactor to remove virtual from RenderXFBToScreen 2023-01-31 18:29:47 +13:00
VideoState.cpp VideoCommon: De-globalize GeometryShaderManager class. 2022-12-29 15:33:19 +01:00
VideoState.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
XFMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
XFMemory.h VideoCommon: Add class for quickly transforming and culling vertices on the CPU 2023-01-25 02:21:56 -06:00
XFStructs.cpp VideoCommon: De-globalize GeometryShaderManager class. 2022-12-29 15:33:19 +01:00
XFStructs.h Refactor OpcodeDecoding and FIFO analyzer to use callbacks 2021-12-18 15:21:36 -08:00
sfont.inc Use fmt::to_string for texture format overlay 2022-07-15 12:29:40 -07:00