summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authorPokechu22 <Pokechu022@gmail.com>2021-11-13 20:10:20 -0800
committerPokechu22 <Pokechu022@gmail.com>2021-11-17 20:04:34 -0800
commit51e3334526ec3d86655c49307577f9bcffd05aa6 (patch)
tree8ced44c2c4db128ad229af1c0d6d9dfe4f01eae7 /Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
parentddf26913955cdfad9ca502aa444cdf94bc0964e8 (diff)
VideoCommon: Use coarse derivatives for Manual Texture Sampling if possible
Diffstat (limited to 'Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
index 021391e47c..8aba81b7ed 100644
--- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
+++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
@@ -747,6 +747,7 @@ void ProgramShaderCache::CreateHeader()
"%s\n" // shader image load store
"%s\n" // shader framebuffer fetch
"%s\n" // shader thread shuffle
+ "%s\n" // derivative control
// Precision defines for GLSL ES
"%s\n"
@@ -826,6 +827,9 @@ void ProgramShaderCache::CreateHeader()
"#extension GL_ARB_shader_image_load_store : enable" :
"",
framebuffer_fetch_string.c_str(), shader_shuffle_string.c_str(),
+ g_ActiveConfig.backend_info.bSupportsCoarseDerivatives ?
+ "#extension GL_ARB_derivative_control : enable" :
+ "",
is_glsles ? "precision highp float;" : "", is_glsles ? "precision highp int;" : "",
is_glsles ? "precision highp sampler2DArray;" : "",
(is_glsles && g_ActiveConfig.backend_info.bSupportsPaletteConversion) ?