diff options
| author | Matthew Parlane <parlane@gmail.com> | 2014-04-04 08:43:20 +1300 |
|---|---|---|
| committer | Matthew Parlane <parlane@gmail.com> | 2014-04-04 08:43:20 +1300 |
| commit | 13119e67556bdd951a26eb31730b1219c9d68680 (patch) | |
| tree | a379e8130aa3b74c477006b185c7c6cd96c1ff28 /Source/Core/VideoBackends/OGL/Render.cpp | |
| parent | c68be42c556e34b6221c079c95d9c639dbbeb989 (diff) | |
| parent | 3251d78f8934b500b4cbdf06f3fd62038cb2047d (diff) | |
Merge pull request #240 from Sonicadvance1/GLSLES310_binding
Add initial support for GLSL ES 3.10.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Render.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index cfc48f980a..4ad70be08a 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -459,7 +459,10 @@ Renderer::Renderer() g_Config.backend_info.bSupportsPrimitiveRestart = !DriverDetails::HasBug(DriverDetails::BUG_PRIMITIVERESTART) && ((GLExtensions::Version() >= 310) || GLExtensions::Supports("GL_NV_primitive_restart")); g_Config.backend_info.bSupportsEarlyZ = GLExtensions::Supports("GL_ARB_shader_image_load_store"); - g_Config.backend_info.bSupportShadingLanguage420pack = GLExtensions::Supports("GL_ARB_shading_language_420pack"); + + // Desktop OpenGL supports the binding layout if it supports 420pack + // OpenGL ES 3.1 supports it implicitly without an extension + g_Config.backend_info.bSupportsBindingLayout = GLExtensions::Supports("GL_ARB_shading_language_420pack"); g_ogl_config.bSupportsGLSLCache = GLExtensions::Supports("GL_ARB_get_program_binary"); g_ogl_config.bSupportsGLPinnedMemory = GLExtensions::Supports("GL_AMD_pinned_memory"); @@ -472,7 +475,17 @@ Renderer::Renderer() g_ogl_config.bSupportViewportFloat = GLExtensions::Supports("GL_ARB_viewport_array"); if (GLInterface->GetMode() == GLInterfaceMode::MODE_OPENGLES3) - g_ogl_config.eSupportedGLSLVersion = GLSLES3; + { + if (strstr(g_ogl_config.glsl_version, "3.00")) + { + g_ogl_config.eSupportedGLSLVersion = GLSLES_300; + } + else + { + g_ogl_config.eSupportedGLSLVersion = GLSLES_310; + g_Config.backend_info.bSupportsBindingLayout = true; + } + } else { if (strstr(g_ogl_config.glsl_version, "1.00") || strstr(g_ogl_config.glsl_version, "1.10") || strstr(g_ogl_config.glsl_version, "1.20")) |
