summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2021-11-18 13:08:23 -0500
committerGitHub <noreply@github.com>2021-11-18 13:08:23 -0500
commit6f4bbac528682389e34a1a4985820ee5137619c7 (patch)
tree9f07e21fa1da14c7485fddac611a2618888afcf0 /Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
parent8b57aad8edd82ccc414775d22e96d896bcac6176 (diff)
parent95b99410443e7ae47df1f3e9436e275c80dd3678 (diff)
Merge pull request #9956 from Pokechu22/non-power-of-2-wrap-2
VideoCommon: Manually handle texture wrapping and sampling
Diffstat (limited to 'Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
index 021391e47c..492d4b956c 100644
--- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
+++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
@@ -747,6 +747,8 @@ void ProgramShaderCache::CreateHeader()
"%s\n" // shader image load store
"%s\n" // shader framebuffer fetch
"%s\n" // shader thread shuffle
+ "%s\n" // derivative control
+ "%s\n" // query levels
// Precision defines for GLSL ES
"%s\n"
@@ -826,6 +828,12 @@ 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" :
+ "",
+ g_ActiveConfig.backend_info.bSupportsTextureQueryLevels ?
+ "#extension GL_ARB_texture_query_levels : enable" :
+ "",
is_glsles ? "precision highp float;" : "", is_glsles ? "precision highp int;" : "",
is_glsles ? "precision highp sampler2DArray;" : "",
(is_glsles && g_ActiveConfig.backend_info.bSupportsPaletteConversion) ?