diff options
| author | Stenzek <stenzek@gmail.com> | 2017-07-27 20:52:20 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2017-07-30 17:43:59 +1000 |
| commit | e968c191ffc7bf2899e8f56f39f988c36b54034c (patch) | |
| tree | e3e4c92319967bd445a6add258c1ab3d41aa30ac /Source/Core/VideoBackends | |
| parent | c8f31656cb1c5f5e3c83a5b977fd822e987cb596 (diff) | |
Ubershaders: Support per-pixel lighting
Diffstat (limited to 'Source/Core/VideoBackends')
4 files changed, 3 insertions, 16 deletions
diff --git a/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp b/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp index 69dedb4d4b..bb1aa04911 100644 --- a/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp +++ b/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp @@ -593,11 +593,8 @@ void PixelShaderCache::Shutdown() bool PixelShaderCache::SetShader() { - if (g_ActiveConfig.CanUseUberShaders() && - (g_ActiveConfig.bDisableSpecializedShaders || g_ActiveConfig.bForcePixelUberShaders)) - { + if (g_ActiveConfig.bDisableSpecializedShaders || g_ActiveConfig.bForcePixelUberShaders) return SetUberShader(); - } PixelShaderUid uid = GetPixelShaderUid(); if (last_entry && uid == last_uid) diff --git a/Source/Core/VideoBackends/D3D/VertexShaderCache.cpp b/Source/Core/VideoBackends/D3D/VertexShaderCache.cpp index a90de7c105..0c56deeb4a 100644 --- a/Source/Core/VideoBackends/D3D/VertexShaderCache.cpp +++ b/Source/Core/VideoBackends/D3D/VertexShaderCache.cpp @@ -249,11 +249,8 @@ void VertexShaderCache::Shutdown() bool VertexShaderCache::SetShader(D3DVertexFormat* vertex_format) { - if (g_ActiveConfig.CanUseUberShaders() && - (g_ActiveConfig.bDisableSpecializedShaders || g_ActiveConfig.bForceVertexUberShaders)) - { + if (g_ActiveConfig.bDisableSpecializedShaders || g_ActiveConfig.bForceVertexUberShaders) return SetUberShader(vertex_format); - } VertexShaderUid uid = GetVertexShaderUid(); if (last_entry && uid == last_uid) diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp index e2d201e9b7..57d9705a7c 100644 --- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp +++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp @@ -223,7 +223,7 @@ void ProgramShaderCache::UploadConstants() SHADER* ProgramShaderCache::SetShader(u32 primitive_type, const GLVertexFormat* vertex_format) { - if (g_ActiveConfig.bDisableSpecializedShaders && g_ActiveConfig.CanUseUberShaders()) + if (g_ActiveConfig.bDisableSpecializedShaders) return SetUberShader(primitive_type, vertex_format); SHADERUID uid; diff --git a/Source/Core/VideoBackends/Vulkan/StateTracker.cpp b/Source/Core/VideoBackends/Vulkan/StateTracker.cpp index 7d7ed0d956..2ab6af50ff 100644 --- a/Source/Core/VideoBackends/Vulkan/StateTracker.cpp +++ b/Source/Core/VideoBackends/Vulkan/StateTracker.cpp @@ -389,13 +389,6 @@ bool StateTracker::CheckForShaderChanges(u32 gx_primitive_type) bool uber_vertex_shader = use_ubershaders || g_ActiveConfig.bForceVertexUberShaders; bool uber_pixel_shader = use_ubershaders || g_ActiveConfig.bForcePixelUberShaders; bool using_ubershaders = uber_vertex_shader || uber_pixel_shader; - if (!g_ActiveConfig.CanUseUberShaders()) - { - // Per-pixel lighting disables ubershaders. - uber_vertex_shader = false; - uber_pixel_shader = false; - using_ubershaders = false; - } // Switching to/from ubershaders? Have to adjust the vertex format and pipeline layout. if (using_ubershaders != m_using_ubershaders) |
