summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2017-07-27 20:52:20 +1000
committerStenzek <stenzek@gmail.com>2017-07-30 17:43:59 +1000
commite968c191ffc7bf2899e8f56f39f988c36b54034c (patch)
treee3e4c92319967bd445a6add258c1ab3d41aa30ac /Source/Core/VideoBackends
parentc8f31656cb1c5f5e3c83a5b977fd822e987cb596 (diff)
Ubershaders: Support per-pixel lighting
Diffstat (limited to 'Source/Core/VideoBackends')
-rw-r--r--Source/Core/VideoBackends/D3D/PixelShaderCache.cpp5
-rw-r--r--Source/Core/VideoBackends/D3D/VertexShaderCache.cpp5
-rw-r--r--Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp2
-rw-r--r--Source/Core/VideoBackends/Vulkan/StateTracker.cpp7
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)