dolphin/Source/Core/VideoCommon
Lioncash 86f8768268 VideoCommon/ShaderGenCommon: Make template functions regular functions
These are only ever used with ShaderCode instances and nothing else.
Given that, we can convert these helper functions to expect that type of
object as an argument and remove the need for templates, improving
compiler throughput a marginal amount, as the template instantiation
process doesn't need to be performed.

We can also move the definitions of these functions into the cpp file,
which allows us to remove a few inclusions from the ShaderGenCommon
header. This uncovered a few instances of indirect inclusions being
relied upon in other source files.

One other benefit is this allows changes to be made to the definitions
of the functions without needing to recompile all translation units that
make use of these functions, making change testing a little quicker.

Moving the definitions into the cpp file also allows us to completely
hide DefineOutputMember() from external view, given it's only ever used
inside of GenerateVSOutputMembers().
2020-05-25 21:12:29 -04:00
..
AbstractFramebuffer.cpp Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
AbstractFramebuffer.h Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
AbstractPipeline.h AbstractPipeline: Support returning "cache data" 2019-04-16 00:09:47 +10:00
AbstractShader.h AbstractPipeline: Support returning "cache data" 2019-04-16 00:09:47 +10:00
AbstractStagingTexture.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
AbstractStagingTexture.h Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
AbstractTexture.cpp FramebufferManager: Correctly handle read back D24S8 textures 2019-07-31 15:33:28 +10:00
AbstractTexture.h FramebufferManager: Correctly handle read back D24S8 textures 2019-07-31 15:33:28 +10:00
AsyncRequests.cpp Core: Skip duplicate frames when using frame advance 2020-04-09 11:39:29 +02:00
AsyncRequests.h Core: Skip duplicate frames when using frame advance 2020-04-09 11:39:29 +02:00
AsyncShaderCompiler.cpp ShaderCache: Use imgui for shader compilation dialog 2019-01-25 11:15:57 +10:00
AsyncShaderCompiler.h ShaderCache: Implement compile priority 2018-03-17 01:53:11 +10:00
BoundingBox.cpp VideoCommon/BoundingBox: Move PixelShaderManager::SetBoundingBoxActive() calls into Enable()/Disable() 2019-12-05 11:57:58 -05:00
BoundingBox.h VideoCommon/BoundingBox: Make interface for querying bounding box data 2019-12-05 11:48:42 -05:00
BPFunctions.cpp VideoCommon: Remove unused MathUtil.h include from VideoCommon.h 2019-07-16 20:54:34 -04:00
BPFunctions.h VideoCommon: Remove unused MathUtil.h include from VideoCommon.h 2019-07-16 20:54:34 -04:00
BPMemory.cpp BPMemory: Use Common::BitCast where applicable 2018-05-18 14:25:44 -04:00
BPMemory.h Externals: Add zstd 2020-05-13 20:53:10 +02:00
BPStructs.cpp Remove warnings of -Wsign-compare 2020-03-25 07:57:14 +08:00
BPStructs.h
CMakeLists.txt VideoCommon: Add Free Look camera with separate modes 2020-05-03 13:31:47 -05:00
CommandProcessor.cpp Fix Windows CMake build errors 2020-05-03 14:10:24 +02:00
CommandProcessor.h VideoCommon: Constrain the array_base registers 2019-05-31 03:22:00 -04:00
ConstantManager.h PixelShaderGen: Implement table-based fog range as in software renderer 2018-02-15 22:19:21 +10:00
CPMemory.cpp
CPMemory.h
DataReader.h Externals: Add zstd 2020-05-13 20:53:10 +02:00
DriverDetails.cpp Vulkan: Add a DriverDetails bug for "slow cached readback memory" 2019-10-02 21:34:58 +10:00
DriverDetails.h Vulkan: Add a DriverDetails bug for "slow cached readback memory" 2019-10-02 21:34:58 +10:00
Fifo.cpp VideoBackendBase: Do save state logic on the GPU thread 2019-07-24 04:08:25 +10:00
Fifo.h
FPSCounter.cpp Don't use wrong encoding for paths when opening streams on Windows 2017-12-05 21:23:35 +01:00
FPSCounter.h Reformat all the things! 2018-04-12 21:28:39 +02:00
FramebufferManager.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
FramebufferManager.h FramebufferManager: Correctly handle read back D24S8 textures 2019-07-31 15:33:28 +10:00
FramebufferShaderGen.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
FramebufferShaderGen.h VideoCommon/FramebufferShaderGen: Remove unused Config struct 2019-12-04 23:54:15 -05:00
FrameDump.cpp FrameDump: Set first_frame if movie frame number <= 1 2019-12-22 11:54:34 +10:00
FrameDump.h VideoCommon: Rename AVIDump to FrameDump 2019-06-30 13:02:39 +02:00
FreeLookCamera.cpp VideoCommon: Add Free Look camera with separate modes 2020-05-03 13:31:47 -05:00
FreeLookCamera.h VideoCommon: Add Free Look camera with separate modes 2020-05-03 13:31:47 -05:00
GeometryShaderGen.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
GeometryShaderGen.h VideoCommon: Remove unnecessary memset on ShaderUid instances. 2019-05-30 06:41:54 -04:00
GeometryShaderManager.cpp VideoConfig: Make StereoMode an enum class 2017-11-18 23:19:53 -05:00
GeometryShaderManager.h
GXPipelineTypes.h ShaderCache: Utilize pipeline cache data where possible 2019-04-16 00:39:43 +10:00
HiresTextures.cpp VideoCommon: Allow texture folders to be determined by a <gameid>.txt file 2020-03-15 12:34:04 -05:00
HiresTextures.h VideoCommon: Allow texture folders to be determined by a <gameid>.txt file 2020-03-15 12:34:04 -05:00
HiresTextures_DDSLoader.cpp HiresTextures: Do not load compressed textures with unaligned dimensions 2018-05-22 16:15:18 +10:00
ImageWrite.cpp
ImageWrite.h
IndexGenerator.cpp VideoCommon/IndexGenerator: Eliminate static state 2019-12-05 10:49:32 -05:00
IndexGenerator.h VideoCommon/IndexGenerator: Eliminate static state 2019-12-05 10:49:32 -05:00
LightingShaderGen.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
LightingShaderGen.h LightingShaderGen: Always calculate lighting for both color channels 2017-11-22 01:52:18 +10:00
LookUpTables.h
NativeVertexFormat.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
NetPlayChatUI.cpp VideoCommon/NetPlayChatUI: Default destructor in the cpp file 2019-05-29 06:20:05 -04:00
NetPlayChatUI.h VideoCommon/NetPlayChatUI: Default destructor in the cpp file 2019-05-29 06:20:05 -04:00
NetPlayGolfUI.cpp VideoCommon: Make use of fmt outside of shader generators 2019-11-23 16:00:45 -05:00
NetPlayGolfUI.h VideoCommon/NetPlayGolfUI: Remove unused header 2019-05-29 06:20:57 -04:00
OnScreenDisplay.cpp VideoCommon/OSD: Process OSD messages even when they are disabled. 2020-01-24 11:00:58 -06:00
OnScreenDisplay.h VideoCommon/OnScreenDisplay: Take Message's std::string parameter by value 2019-07-28 23:00:58 -04:00
OpcodeDecoding.cpp VideoCommon/OpcodeDecoding: Make use of if constexpr 2019-12-05 09:13:06 -05:00
OpcodeDecoding.h VideoCommon/OpcodeDecoding: Move g_bRecordFifoData into namespace 2019-12-05 09:13:03 -05:00
PerfQueryBase.cpp
PerfQueryBase.h D3D12: Fix rare case where command list was executed with open queries 2019-04-01 20:49:24 +10:00
PixelEngine.cpp VideoCommon/BoundingBox: Move PixelShaderManager::SetBoundingBoxActive() calls into Enable()/Disable() 2019-12-05 11:57:58 -05:00
PixelEngine.h
PixelShaderGen.cpp VideoCommon/BoundingBox: Make interface for querying bounding box data 2019-12-05 11:48:42 -05:00
PixelShaderGen.h VideoCommon: Remove unnecessary memset on ShaderUid instances. 2019-05-30 06:41:54 -04:00
PixelShaderManager.cpp Common/CommonFuncs: Remove now-unneccessary ArraySize function 2019-06-01 10:07:57 -04:00
PixelShaderManager.h
PostProcessing.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
PostProcessing.h VideoCommon: Remove unused MathUtil.h include from VideoCommon.h 2019-07-16 20:54:34 -04:00
RenderBase.cpp Merge pull request #8730 from JosJuice/frame-advance-duplicate-frame 2020-04-16 18:29:16 -04:00
RenderBase.h VideoCommon: Tweak widescreen heuristic and clean up some related Renderer logic. 2020-02-09 13:22:25 -06:00
RenderState.cpp RenderState: Approximate logic op with blending if unsupported 2019-08-04 14:06:08 +10:00
RenderState.h RenderState: Approximate logic op with blending if unsupported 2019-08-04 14:06:08 +10:00
SamplerCommon.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
sfont.inc
ShaderCache.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
ShaderCache.h VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
ShaderGenCommon.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
ShaderGenCommon.h VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
Statistics.cpp VideoCommon: Remove unused MathUtil.h include from VideoCommon.h 2019-07-16 20:54:34 -04:00
Statistics.h VideoCommon/Statistics: Remove unused DECSTAT macro 2019-07-10 23:40:13 -04:00
TextureCacheBase.cpp Cleanup warnings of -Wunused-lambda-capture 2020-03-24 20:14:10 +08:00
TextureCacheBase.h VideoCommon/TextureCacheBase: Make OnConfigChanged's parameter a const reference 2019-08-04 22:31:27 -04:00
TextureConfig.cpp Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
TextureConfig.h Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
TextureConversionShader.cpp VideoCommon/TextureConversionShader: Make use of fmt where applicable 2020-01-23 14:19:40 -05:00
TextureConversionShader.h VideoCommon/TextureConversionShader: Convert over to using ShaderCode 2020-01-23 14:19:36 -05:00
TextureConverterShaderGen.cpp VideoCommon/TextureConverterShaderGen: Convert over to fmt 2019-12-03 05:05:02 -05:00
TextureConverterShaderGen.h Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
TextureDecoder.h TextureCache: Support reinterpreting formats for VRAM textures 2019-07-14 19:16:27 +10:00
TextureDecoder_Common.cpp Replace MathUtil::Clamp with std::clamp 2019-05-04 23:12:17 +02:00
TextureDecoder_Generic.cpp TextureDecoder: Move XFB decoding to Common 2019-04-21 12:41:15 +10:00
TextureDecoder_Util.h
TextureDecoder_x64.cpp Replace MathUtil::Clamp with std::clamp 2019-05-04 23:12:17 +02:00
UberShaderCommon.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
UberShaderCommon.h VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
UberShaderPixel.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
UberShaderPixel.h VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
UberShaderVertex.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
UberShaderVertex.h VideoCommon: Remove unnecessary memset on ShaderUid instances. 2019-05-30 06:41:54 -04:00
VertexLoader.cpp VideoCommon/VertexLoader_Normal: Initialize function table at compile-time 2019-05-30 00:52:57 -04:00
VertexLoader.h
VertexLoader_Color.cpp VertexLoader_Color: Place helper functions in anonymous namespace 2019-05-30 10:29:47 -04:00
VertexLoader_Color.h
VertexLoader_Normal.cpp VideoCommon/VertexLoader_Normal: Use variable template variants of type traits 2019-05-30 00:52:59 -04:00
VertexLoader_Normal.h VideoCommon/VertexLoader_Normal: Initialize function table at compile-time 2019-05-30 00:52:57 -04:00
VertexLoader_Position.cpp VertexLoader_Position: Tidy up public function definitions 2019-05-30 10:29:50 -04:00
VertexLoader_Position.h VertexLoader_Position: Tidy up public function definitions 2019-05-30 10:29:50 -04:00
VertexLoader_TextCoord.cpp VertexLoader_TextCoord: Tidy up public function definitions 2019-05-30 10:29:51 -04:00
VertexLoader_TextCoord.h VertexLoader_TextCoord: Tidy up public function definitions 2019-05-30 10:29:51 -04:00
VertexLoaderARM64.cpp Compile fixes for Windows-on-ARM64 2019-12-28 19:20:41 +10:00
VertexLoaderARM64.h
VertexLoaderBase.cpp VideoCommon: Make use of fmt outside of shader generators 2019-11-23 16:00:45 -05:00
VertexLoaderBase.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
VertexLoaderManager.cpp VideoCommon/IndexGenerator: Eliminate static state 2019-12-05 10:49:32 -05:00
VertexLoaderManager.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
VertexLoaderUtils.h Externals: Add zstd 2020-05-13 20:53:10 +02:00
VertexLoaderX64.cpp VertexLoaderX64: Don't use PDEP on AMD Zen 2020-01-26 22:12:00 -05:00
VertexLoaderX64.h VideoCommon/VertexLoaderX64: Add missing header guard 2019-05-29 06:35:22 -04:00
VertexManagerBase.cpp VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
VertexManagerBase.h VideoCommon: Tweak widescreen heuristic and clean up some related Renderer logic. 2020-02-09 13:22:25 -06:00
VertexShaderGen.cpp VideoCommon: Remove unnecessary memset on ShaderUid instances. 2019-05-30 06:41:54 -04:00
VertexShaderGen.h VideoCommon: Remove unnecessary memset on ShaderUid instances. 2019-05-30 06:41:54 -04:00
VertexShaderManager.cpp VideoCommon: remove VertexShaderManager functions instead preferring the direct freelook camera methods 2020-05-03 13:34:13 -05:00
VertexShaderManager.h VideoCommon: remove VertexShaderManager functions instead preferring the direct freelook camera methods 2020-05-03 13:34:13 -05:00
VideoBackendBase.cpp Migrate video backend setting to the new config system 2020-05-22 16:54:53 +02:00
VideoBackendBase.h Migrate video backend setting to the new config system 2020-05-22 16:54:53 +02:00
VideoCommon.h VideoCommon/OpcodeDecoding: Move g_bRecordFifoData into namespace 2019-12-05 09:13:03 -05:00
VideoCommon.vcxproj VideoCommon: Add Free Look camera with separate modes 2020-05-03 13:31:47 -05:00
VideoCommon.vcxproj.filters Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
VideoConfig.cpp Add an option to present/skip presenting duplicate frames 2020-01-14 10:57:35 +10:00
VideoConfig.h FramebufferManager: Copy to color format for depth readbacks on GLES 2020-05-24 16:11:11 +10:00
VideoState.cpp FramebufferManager: Support saving EFB to save state 2019-07-24 05:19:22 +10:00
VideoState.h
XFMemory.cpp
XFMemory.h XFMemory: SETPOSMTXINFO should be SETPOSTMTXINFO 2020-04-29 05:26:02 +02:00
XFStructs.cpp XFMemory: SETPOSMTXINFO should be SETPOSTMTXINFO 2020-04-29 05:26:02 +02:00
XFStructs.h