dolphin/Source/Core/VideoCommon
Stenzek 2f1a7cbee1 Implement "Skip" ubershader mode
Skip ubershader mode works the same as hybrid ubershaders in that the
shaders are compiled asynchronously. However, instead of using the
ubershader to draw the object, it skips it entirely until the
specialized shader is made available.

This mode will likely result in broken effects where a game creates an
EFB copy, and does not redraw it every frame. Therefore, it is not a
recommended option, however, it may result in better performance on
low-end systems.
2018-03-26 01:57:41 +10:00
..
AVIDump.cpp AVIDump: Remove incorrect usage of s_ prefix 2018-01-17 22:19:14 +01:00
AVIDump.h MSVC: define HAVE_FFMPEG 2017-05-26 00:53:58 -07:00
AbstractFramebuffer.cpp AbstractFramebuffer: Silence a -Wlogical-op-parentheses warning in ValidateConfig() 2018-03-23 09:58:19 -04:00
AbstractFramebuffer.h VideoCommon: Add support for Abstract Framebuffers 2018-03-02 20:20:48 +10:00
AbstractPipeline.h VideoBackends: Add AbstractShader and AbstractPipeline classes 2018-02-22 22:02:34 +10:00
AbstractShader.h VideoBackends: Add AbstractShader and AbstractPipeline classes 2018-02-22 22:02:34 +10:00
AbstractStagingTexture.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
AbstractStagingTexture.h VideoBackends: Add AbstractStagingTexture class 2017-11-22 18:47:04 +10:00
AbstractTexture.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
AbstractTexture.h VideoCommon: Add support for Abstract Framebuffers 2018-03-02 20:20:48 +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 Merge pull request #6442 from stenzek/async-compiler-priority 2018-03-19 09:16:53 +01:00
AsyncShaderCompiler.h ShaderCache: Implement compile priority 2018-03-17 01:53:11 +10:00
BPFunctions.cpp Renderer: Remove now-redundant Set{Rasterization,Depth,Blending}State 2018-03-10 15:56:40 +10:00
BPFunctions.h BPFunctions: Move GX viewport conversion to VideoCommon 2018-02-20 00:49:32 +10:00
BPMemory.cpp BPMemory: Handle fog configuration where both A and C are infinity/NaN 2018-02-01 17:40:39 +10:00
BPMemory.h BPMemory: Handle fog configuration where both A and C are infinity/NaN 2018-02-01 17:40:39 +10:00
BPStructs.cpp BPFunctions: Move GX viewport conversion to VideoCommon 2018-02-20 00:49:32 +10:00
BPStructs.h VideoCommon: Header cleanup 2016-01-17 20:11:45 -05: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
CMakeLists.txt VideoBackendBase: Migrate functions from MainBase.cpp to VideoBackendBase.cpp 2018-03-18 15:33:59 -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
CommandProcessor.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
CommandProcessor.h Call Do for every member of SCPFifoStruct individually 2017-11-13 19:51:16 +01:00
ConstantManager.h PixelShaderGen: Implement table-based fog range as in software renderer 2018-02-15 22:19:21 +10:00
DataReader.h DataReader: Provide a const qualified variant of GetPointer() 2018-03-18 16:53:04 -04: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 DriverDetails: Disable primitive restart on Vulkan with Mali driver 2018-03-14 02:56:24 +10:00
DriverDetails.h Vulkan: Provide a more accurate method of detecting drivers/vendors 2018-03-14 02:48:53 +10:00
FPSCounter.cpp Don't use wrong encoding for paths when opening streams on Windows 2017-12-05 21:23:35 +01:00
FPSCounter.h VideoCommon: Improve precision of FPS counter 2017-07-30 12:38:48 +10:00
Fifo.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
Fifo.h Fifo: const correctness 2017-03-26 23:08:33 -04: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
GXPipelineTypes.h ShaderCache: Use a version number for pipeline UID caches 2018-03-11 14:48:09 +10:00
GeometryShaderGen.cpp VideoConfig: Make StereoMode an enum class 2017-11-18 23:19:53 -05:00
GeometryShaderGen.h Move shader caches to VideoCommon 2018-03-10 15:56:30 +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 CustomTexture: Drop old texture format. 2018-01-20 17:08:47 +01:00
HiresTextures.h Treat custom textures with "_arb" suffix as having arbitrary mipmaps 2018-01-10 17:51:45 +01: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 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 Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02: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 PixelShaderGen/UberShaderPixel: Silence -Wmissing-braces warnings 2018-03-23 10:06:27 -04:00
PixelShaderGen.h Implement dual-source blending in shader 2018-01-05 09:56:46 -08:00
PixelShaderManager.cpp PixelShaderGen: Implement table-based fog range as in software renderer 2018-02-15 22:19:21 +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 Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
RenderBase.h Renderer: Remove now-redundant Set{Rasterization,Depth,Blending}State 2018-03-10 15:56:40 +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
ShaderCache.cpp ShaderCache: Implement compile priority 2018-03-17 01:53:11 +10:00
ShaderCache.h ShaderCache: Implement compile priority 2018-03-17 01:53:11 +10:00
ShaderGenCommon.cpp Move shader caches to VideoCommon 2018-03-10 15:56:30 +10:00
ShaderGenCommon.h Move shader caches to VideoCommon 2018-03-10 15:56:30 +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 Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
TextureCacheBase.h VideoCommon: Apply the yscale as upscaling of the XFB. 2018-01-06 10:36:33 +01:00
TextureConfig.cpp AbstractTexture: Support multisampled abstract texture 2018-03-01 17:31:24 +10:00
TextureConfig.h AbstractTexture: Add support for depth textures/formats 2018-03-01 17:31:24 +10:00
TextureConversionShader.cpp Some more implicit uint/float conversions in the texture decode shaders 2018-01-11 11:15:40 -08:00
TextureConversionShader.h VideoCommon: Rename TextureConversionShader namespace. 2017-12-02 15:17:39 +01:00
TextureConverterShaderGen.cpp Reimplement EFB copy for intensity formats 2017-12-19 12:04:56 +01:00
TextureConverterShaderGen.h VideoCommon: Create a namespace for TextureConversionShaderGen. 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 Fix an invalid (uint < int) comparison in GLES with ubershaders 2017-12-10 10:52:32 -08:00
UberShaderCommon.h Ubershaders: Support per-pixel lighting 2017-07-30 17:43:59 +10:00
UberShaderPixel.cpp PixelShaderGen/UberShaderPixel: Silence -Wmissing-braces warnings 2018-03-23 10:06:27 -04: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 Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
VertexLoader.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02: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 Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04: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
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
VertexManagerBase.cpp Implement "Skip" ubershader mode 2018-03-26 01:57:41 +10:00
VertexManagerBase.h ShaderCache: Implement background shader compilation 2018-03-10 16:11:19 +10:00
VertexShaderGen.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
VertexShaderGen.h VertexShaderGen: Convert defines to an enum 2018-03-18 15:45:20 -04:00
VertexShaderManager.cpp BPFunctions: Move GX viewport conversion to VideoCommon 2018-02-20 00:49:32 +10:00
VertexShaderManager.h ShaderGen: Implement vertex ubershaders 2017-07-30 17:43:59 +10:00
VideoBackendBase.cpp VideoBackendBase: Migrate functions from MainBase.cpp to VideoBackendBase.cpp 2018-03-18 15:33:59 -04:00
VideoBackendBase.h VideoBackend: Remove PeekMessages method 2018-01-27 13:53:55 +10:00
VideoCommon.h MAX_XFB_HEIGHT: PAL value off by two fixed 2017-12-30 20:22:10 +01:00
VideoCommon.vcxproj VideoBackendBase: Migrate functions from MainBase.cpp to VideoBackendBase.cpp 2018-03-18 15:33:59 -04:00
VideoCommon.vcxproj.filters VideoBackendBase: Migrate functions from MainBase.cpp to VideoBackendBase.cpp 2018-03-18 15:33:59 -04:00
VideoConfig.cpp Implement "Skip" ubershader mode 2018-03-26 01:57:41 +10:00
VideoConfig.h Implement "Skip" ubershader mode 2018-03-26 01:57:41 +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 Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
XFStructs.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
sfont.inc Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00