dolphin/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 VideoCommon: Eliminate static state in Renderer 2017-03-04 16:39:50 +10:00
AsyncRequests.h specify custom brace style to fix unions 2017-01-05 12:55:13 +01:00
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 Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
BoundingBox.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
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 VideoCommon: Header cleanup 2016-01-17 20:11:45 -05:00
CMakeLists.txt VideoBackends: Use VideoCommon shader generators for efb2tex copies. 2017-12-02 15:17:39 +01:00
CommandProcessor.cpp CommandProcessor: Limit scope of ugly SCPFifoStruct. 2017-01-27 19:04:56 +01:00
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 Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
CPMemory.h specify custom brace style to fix unions 2017-01-05 12:55:13 +01:00
DataReader.h Common: Move byte swapping utilities into their own header 2017-03-03 17:18:18 -05:00
Debugger.cpp Further fixes to the formatting change. WX sucks. 2016-06-24 12:16:10 +02:00
Debugger.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
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 Fifo: const correctness 2017-03-26 23:08:33 -04:00
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 VideoBackends: Merge Initialize and Shutdown functions. 2016-06-26 12:34:59 +02:00
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 ImageWriter: Don't use inplace alpha truncation. 2016-10-08 12:02:49 +02:00
IndexGenerator.cpp fix various instances of -1 being assigned to unsigned types 2017-06-07 19:52:07 -07:00
IndexGenerator.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
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 Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
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 Revert "Merge pull request #4286 from shuffle2/Aestek-clean-osd" 2016-10-15 12:44:37 +02:00
OnScreenDisplay.h Revert "Merge pull request #4286 from shuffle2/Aestek-clean-osd" 2016-10-15 12:44:37 +02:00
OpcodeDecoding.cpp CommandProcessor: Limit scope of ugly SCPFifoStruct. 2017-01-27 19:04:56 +01:00
OpcodeDecoding.h OpcodeDecoding: Convert #defines into enum constants 2017-02-08 00:05:17 -05:00
PerfQueryBase.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
PerfQueryBase.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
PixelEngine.cpp CommandProcessor: Remove unnecessary include 2017-09-02 13:34:21 -04:00
PixelEngine.h PixelEngine: Move enum constants into the PixelEngine namespace 2017-02-28 07:01:50 -05:00
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 Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
sfont.inc Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
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 VertexLoaderManager: Return debug strings by value 2017-03-26 23:50:09 -04:00
Statistics.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
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: Deduplicate some utility code 2017-01-15 20:23:26 +11:00
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 VertexLoaderJit: Fix out-of-bounds access for zfreeze. 2016-09-17 16:47:12 +02:00
VertexLoader.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
VertexLoader_Color.cpp Common: Move byte swapping utilities into their own header 2017-03-03 17:18:18 -05:00
VertexLoader_Color.h VideoCommon: Header cleanup 2016-01-17 20:11:45 -05:00
VertexLoader_Normal.cpp Common: Move byte swapping utilities into their own header 2017-03-03 17:18:18 -05:00
VertexLoader_Normal.h Common: Move byte swapping utilities into their own header 2017-03-03 17:18:18 -05:00
VertexLoader_Position.cpp Common: Move byte swapping utilities into their own header 2017-03-03 17:18:18 -05:00
VertexLoader_Position.h Common: Move byte swapping utilities into their own header 2017-03-03 17:18:18 -05:00
VertexLoader_TextCoord.cpp Common: Move byte swapping utilities into their own header 2017-03-03 17:18:18 -05:00
VertexLoader_TextCoord.h Common: Move byte swapping utilities into their own header 2017-03-03 17:18:18 -05:00
VertexLoaderARM64.cpp Merge pull request #4210 from degasus/arm 2016-09-27 18:45:14 +02:00
VertexLoaderARM64.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
VertexLoaderBase.cpp VertexLoaderBase: Return debug strings by value 2017-03-26 23:49:59 -04:00
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 Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
VertexLoaderX64.cpp Remove code for only allocating low memory 2017-05-20 09:35:53 +02:00
VertexLoaderX64.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
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 VertexManagerBase: Get rid of static behavior 2016-08-21 23:30:38 -04:00
VideoState.h VideoBackends: Merge Initialize and Shutdown functions. 2016-06-26 12:34:59 +02:00
XFMemory.cpp VideoCommon: Header cleanup 2016-01-17 20:11:45 -05:00
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 Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00