dolphin-emulator/Source/Core/VideoCommon
Markus Wick 491c10ec96 VideoBackends: Use VideoCommon shader generators for efb2tex copies.
This will generate one shader per copy format. For now, it is the same
shader with the colmat hard coded. So it should already improve the GPU
performance a bit, but a rewrite of the shader generator is suggested.

Half of the patch is done by linkmauve1:
VideoCommon: Reorganise the shader writes.
2017-12-02 15:17:39 +01:00
..
AbstractStagingTexture.cpp VideoBackends: Add AbstractStagingTexture class 2017-11-22 18:47:04 +10:00
AbstractStagingTexture.h VideoBackends: Add AbstractStagingTexture class 2017-11-22 18:47:04 +10:00
AbstractTexture.cpp AbstractTexture: Drop slow map readback path 2017-11-22 18:49:33 +10:00
AbstractTexture.h AbstractTexture: Drop slow map readback path 2017-11-22 18:49:33 +10:00
AsyncRequests.cpp
AsyncRequests.h
AsyncShaderCompiler.cpp VideoBackends: Support a different number of threads for precompiling 2017-07-30 17:43:59 +10:00
AsyncShaderCompiler.h AsyncShaderCompiler: use std::make_unique in CreateWorkItem() 2017-09-02 14:08:00 -04:00
AVIDump.cpp do not assign in conditional statements 2017-06-07 20:09:44 -07:00
AVIDump.h MSVC: define HAVE_FFMPEG 2017-05-26 00:53:58 -07:00
BoundingBox.cpp
BoundingBox.h
BPFunctions.cpp Renderer: Move cull mode to a rasterization state object 2017-09-11 20:01:45 +10:00
BPFunctions.h RenderBase: Drop SetColorMask and SetLogicOpMode 2017-09-03 14:14:54 +10:00
BPMemory.cpp ShaderGen: Support writing integer colors when logic op is enabled 2017-09-03 16:33:25 +10:00
BPMemory.h ShaderGen: Support writing integer colors when logic op is enabled 2017-09-03 16:33:25 +10:00
BPStructs.cpp Video Backends: Remove the right of the xfb region for games where the 2017-11-17 22:11:32 -06:00
BPStructs.h
CMakeLists.txt VideoBackends: Use VideoCommon shader generators for efb2tex copies. 2017-12-02 15:17:39 +01:00
CommandProcessor.cpp
CommandProcessor.h CommandProcessor: Remove unnecessary include 2017-09-02 13:34:21 -04:00
ConstantManager.h ConstantManager: Use std::array where applicable 2017-08-27 15:41:36 -04:00
CPMemory.cpp
CPMemory.h
DataReader.h
Debugger.cpp
Debugger.h
DriverDetails.cpp Vulkan: Extend the NVIDIA MSAA bug to render-pass based clears 2017-09-07 17:05:43 +10:00
DriverDetails.h Vulkan: Extend the NVIDIA MSAA bug to render-pass based clears 2017-09-07 17:05:43 +10:00
Fifo.cpp CommandProcessor: Remove unnecessary include 2017-09-02 13:34:21 -04:00
Fifo.h
FPSCounter.cpp VideoCommon: Improve precision of FPS counter 2017-07-30 12:38:48 +10:00
FPSCounter.h VideoCommon: Improve precision of FPS counter 2017-07-30 12:38:48 +10:00
FramebufferManagerBase.cpp VideoBackends: Remove header inclusions made unnecessary with Hybrid XFB 2017-11-19 00:53:10 -05:00
FramebufferManagerBase.h VideoBackends: Remove header inclusions made unnecessary with Hybrid XFB 2017-11-19 00:53:10 -05:00
GeometryShaderGen.cpp VideoConfig: Make StereoMode an enum class 2017-11-18 23:19:53 -05:00
GeometryShaderGen.h VideoBackends: Move SamplerState to common 2017-09-11 20:01:54 +10:00
GeometryShaderManager.cpp VideoConfig: Make StereoMode an enum class 2017-11-18 23:19:53 -05:00
GeometryShaderManager.h
HiresTextures.cpp Video: Clearly separate Texture and EFB Copy formats 2017-08-03 18:35:29 -07:00
HiresTextures.h Video: Clearly separate Texture and EFB Copy formats 2017-08-03 18:35:29 -07:00
HiresTextures_DDSLoader.cpp HiresTextures: Support loading BC7 (BPTC) from DDS files 2017-08-01 11:59:38 +10:00
ImageWrite.cpp Add a namespace to OpenFStream 2017-06-15 21:34:04 +02:00
ImageWrite.h
IndexGenerator.cpp fix various instances of -1 being assigned to unsigned types 2017-06-07 19:52:07 -07:00
IndexGenerator.h
LightingShaderGen.cpp LightingShaderGen: Always calculate lighting for both color channels 2017-11-22 01:52:18 +10:00
LightingShaderGen.h LightingShaderGen: Always calculate lighting for both color channels 2017-11-22 01:52:18 +10:00
LookUpTables.h
MainBase.cpp VideoCommon: Re-implement asynchronous frame dumping 2017-11-22 18:49:33 +10:00
NativeVertexFormat.h Remove NonCopyable 2017-08-22 16:40:34 +02:00
OnScreenDisplay.cpp
OnScreenDisplay.h
OpcodeDecoding.cpp
OpcodeDecoding.h
PerfQueryBase.cpp
PerfQueryBase.h
PixelEngine.cpp CommandProcessor: Remove unnecessary include 2017-09-02 13:34:21 -04:00
PixelEngine.h
PixelShaderGen.cpp LightingShaderGen: Always calculate lighting for both color channels 2017-11-22 01:52:18 +10:00
PixelShaderGen.h VideoBackends: Clear uid bits that are unused for the current backend 2017-09-05 23:49:42 +10:00
PixelShaderManager.cpp Ubershaders: Fix 6-bit color truncation not being applied 2017-08-01 00:01:09 +10:00
PixelShaderManager.h Ubershaders: Fix 6-bit color truncation not being applied 2017-08-01 00:01:09 +10:00
PostProcessing.cpp VideoConfig: Make StereoMode an enum class 2017-11-18 23:19:53 -05:00
PostProcessing.h VideoConfigDiag: Move post-processing shader list to post processor 2017-04-25 14:27:05 +10:00
RenderBase.cpp Merge pull request #6193 from stenzek/readbacks 2017-12-01 14:24:06 +10:00
RenderBase.h Merge pull request #6193 from stenzek/readbacks 2017-12-01 14:24:06 +10:00
RenderState.cpp Fixed fog, lava, water in Mario Galaxy (and possibly other games) in higher IRs by detecting & fixing the mipmaps that aren't just used for downscaling, but are handmade to create a gradient. 2017-10-27 00:45:20 -07:00
RenderState.h Fixed fog, lava, water in Mario Galaxy (and possibly other games) in higher IRs by detecting & fixing the mipmaps that aren't just used for downscaling, but are handmade to create a gradient. 2017-10-27 00:45:20 -07:00
SamplerCommon.h
sfont.inc
ShaderGenCommon.cpp VideoConfig: Make StereoMode an enum class 2017-11-18 23:19:53 -05:00
ShaderGenCommon.h ShaderGen: Implement vertex ubershaders 2017-07-30 17:43:59 +10:00
Statistics.cpp
Statistics.h
TextureCacheBase.cpp VideoBackends: Use VideoCommon shader generators for efb2tex copies. 2017-12-02 15:17:39 +01:00
TextureCacheBase.h VideoBackends: Use VideoCommon shader generators for efb2tex copies. 2017-12-02 15:17:39 +01:00
TextureConfig.cpp VideoBackends: Add AbstractStagingTexture class 2017-11-22 18:47:04 +10:00
TextureConfig.h VideoBackends: Add AbstractStagingTexture class 2017-11-22 18:47:04 +10:00
TextureConversionShader.cpp HybridXFB: Fix lint errors 2017-11-17 22:11:31 -06:00
TextureConversionShader.h Video Common: Add XFB decoding via the GPU 2017-11-17 22:11:30 -06:00
TextureConverterShaderGen.cpp VideoBackends: Use VideoCommon shader generators for efb2tex copies. 2017-12-02 15:17:39 +01:00
TextureConverterShaderGen.h VideoBackends: Use VideoCommon shader generators for efb2tex copies. 2017-12-02 15:17:39 +01:00
TextureDecoder.h Add support for hybrid XFB 2017-11-17 19:47:56 -06:00
TextureDecoder_Common.cpp HybridXFB: Fix lint errors 2017-11-17 22:11:31 -06:00
TextureDecoder_Generic.cpp Video: Clearly separate Texture and EFB Copy formats 2017-08-03 18:35:29 -07:00
TextureDecoder_Util.h
TextureDecoder_x64.cpp Hybrid XFB: Fix lint errors 2017-11-17 22:11:34 -06:00
UberShaderCommon.cpp LightingShaderGen: Always calculate lighting for both color channels 2017-11-22 01:52:18 +10:00
UberShaderCommon.h Ubershaders: Support per-pixel lighting 2017-07-30 17:43:59 +10:00
UberShaderPixel.cpp UberShaderPixel: Fix the interpolation qualifier for interface blocks. 2017-11-25 21:51:14 +01:00
UberShaderPixel.h VideoBackends: Clear uid bits that are unused for the current backend 2017-09-05 23:49:42 +10:00
UberShaderVertex.cpp LightingShaderGen: Always calculate lighting for both color channels 2017-11-22 01:52:18 +10:00
UberShaderVertex.h ShaderGen: Implement vertex ubershaders 2017-07-30 17:43:59 +10:00
VertexLoader.cpp
VertexLoader.h
VertexLoader_Color.cpp
VertexLoader_Color.h
VertexLoader_Normal.cpp
VertexLoader_Normal.h
VertexLoader_Position.cpp
VertexLoader_Position.h
VertexLoader_TextCoord.cpp
VertexLoader_TextCoord.h
VertexLoaderARM64.cpp
VertexLoaderARM64.h
VertexLoaderBase.cpp
VertexLoaderBase.h fix various instances of -1 being assigned to unsigned types 2017-06-07 19:52:07 -07:00
VertexLoaderManager.cpp Vulkan: Uber shader support 2017-07-30 17:43:59 +10:00
VertexLoaderManager.h Vulkan: Uber shader support 2017-07-30 17:43:59 +10:00
VertexLoaderUtils.h
VertexLoaderX64.cpp Remove code for only allocating low memory 2017-05-20 09:35:53 +02:00
VertexLoaderX64.h
VertexManagerBase.cpp VideoCommon: Resolve -Wmissing-brace warnings 2017-11-19 01:49:39 -05:00
VertexManagerBase.h Renderer: Move cull mode to a rasterization state object 2017-09-11 20:01:45 +10:00
VertexShaderGen.cpp LightingShaderGen: Always calculate lighting for both color channels 2017-11-22 01:52:18 +10:00
VertexShaderGen.h ShaderGen: Pass host config to shader generation functions 2017-07-20 17:54:33 +10:00
VertexShaderManager.cpp ConstantManager: Use std::array where applicable 2017-08-27 15:41:36 -04:00
VertexShaderManager.h ShaderGen: Implement vertex ubershaders 2017-07-30 17:43:59 +10:00
VideoBackendBase.cpp Remove D3D12 2017-05-18 17:01:12 -07:00
VideoBackendBase.h Video Common: Improve texture dumping to work with fifoci and 2017-11-17 22:11:32 -06:00
VideoCommon.h HybridXFB: Fix lint errors 2017-11-17 22:11:31 -06:00
VideoCommon.vcxproj VideoBackends: Use VideoCommon shader generators for efb2tex copies. 2017-12-02 15:17:39 +01:00
VideoCommon.vcxproj.filters VideoBackends: Use VideoCommon shader generators for efb2tex copies. 2017-12-02 15:17:39 +01:00
VideoConfig.cpp VideoConfig: Remove bSupportsInternalResolutionFrameDumps 2017-11-21 17:19:43 +10:00
VideoConfig.h VideoConfig: Remove bSupportsInternalResolutionFrameDumps 2017-11-21 17:19:43 +10:00
VideoState.cpp
VideoState.h
XFMemory.cpp
XFMemory.h VideoCommon: Use constant for number of color channels in XFMemory 2017-11-20 23:18:44 +10:00
XFStructs.cpp ShaderGen: Implement vertex ubershaders 2017-07-30 17:43:59 +10:00
XFStructs.h