summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2015-03-08 09:03:05 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2015-03-08 09:03:05 -0500
commitb0f61201c36b1e14efe860069ce2fdb1ac87b74f (patch)
tree24a8acc5190dba0ff539256d5bfec0f738f69b9a /Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
parenta9622c247b522bc89e837e6c224b0063a8f1da85 (diff)
parent3c5e99c777f8300b06e53ec3040446fb074473f5 (diff)
Merge pull request #2142 from Sonicadvance1/fix_gles31_non_nvidia
Fix OpenGL ES 3.1 on non-Nvidia devices.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
index 47a8151286..1f48483cef 100644
--- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
+++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
@@ -524,6 +524,7 @@ void ProgramShaderCache::Shutdown()
void ProgramShaderCache::CreateHeader()
{
GLSL_VERSION v = g_ogl_config.eSupportedGLSLVersion;
+ bool is_glsles = v >= GLSLES_300;
snprintf(s_glsl_header, sizeof(s_glsl_header),
"%s\n"
@@ -564,7 +565,7 @@ void ProgramShaderCache::CreateHeader()
, GetGLSLVersionString().c_str()
, v<GLSL_140 ? "#extension GL_ARB_uniform_buffer_object : enable" : ""
- , g_ActiveConfig.backend_info.bSupportsEarlyZ ? "#extension GL_ARB_shader_image_load_store : enable" : ""
+ , !is_glsles && g_ActiveConfig.backend_info.bSupportsEarlyZ ? "#extension GL_ARB_shader_image_load_store : enable" : ""
, (g_ActiveConfig.backend_info.bSupportsBindingLayout && v < GLSLES_310) ? "#extension GL_ARB_shading_language_420pack : enable" : ""
, (g_ogl_config.bSupportsMSAA && v < GLSL_150) ? "#extension GL_ARB_texture_multisample : enable" : ""
, (g_ogl_config.bSupportSampleShading) ? "#extension GL_ARB_sample_shading : enable" : ""
@@ -574,9 +575,9 @@ void ProgramShaderCache::CreateHeader()
, g_ogl_config.bSupportsAEP ? "#extension GL_ANDROID_extension_pack_es31a : enable" : ""
, v<GLSL_140 && g_ActiveConfig.backend_info.bSupportsPaletteConversion ? "#extension GL_ARB_texture_buffer_object : enable" : ""
- , v>=GLSLES_300 ? "precision highp float;" : ""
- , v>=GLSLES_300 ? "precision highp int;" : ""
- , v>=GLSLES_300 ? "precision highp sampler2DArray;" : ""
+ , is_glsles ? "precision highp float;" : ""
+ , is_glsles ? "precision highp int;" : ""
+ , is_glsles ? "precision highp sampler2DArray;" : ""
, DriverDetails::HasBug(DriverDetails::BUG_BROKENTEXTURESIZE) ? "#define textureSize(x, y) ivec2(1, 1)" : ""
, DriverDetails::HasBug(DriverDetails::BUG_BROKENCENTROID) ? "#define centroid" : ""