diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2015-03-08 09:03:05 -0500 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2015-03-08 09:03:05 -0500 |
| commit | b0f61201c36b1e14efe860069ce2fdb1ac87b74f (patch) | |
| tree | 24a8acc5190dba0ff539256d5bfec0f738f69b9a /Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp | |
| parent | a9622c247b522bc89e837e6c224b0063a8f1da85 (diff) | |
| parent | 3c5e99c777f8300b06e53ec3040446fb074473f5 (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.cpp | 9 |
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" : "" |
