Module: Mesa
Branch: master
Commit: 3e8a6e468bfba69c7c05aa371e474324e9570e19
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e8a6e468bfba69c7c05aa371e474324e9570e19

Author: Jordan Justen <jordan.l.jus...@intel.com>
Date:   Tue Dec 15 15:47:30 2015 -0800

main/version: Don't require ARB_compute_shader for OpenGLES 3.1

The OpenGL ARB_compute_shader extension specfication requires at least
1024 for GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS, whereas OpenGLES 3.1
only required 128.

Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com>
Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>

---

 src/mesa/main/version.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index e92bb11..112a73d 100644
--- a/src/mesa/main/version.c
+++ b/src/mesa/main/version.c
@@ -433,7 +433,8 @@ compute_version_es1(const struct gl_extensions *extensions)
 }
 
 static GLuint
-compute_version_es2(const struct gl_extensions *extensions)
+compute_version_es2(const struct gl_extensions *extensions,
+                    const struct gl_constants *consts)
 {
    /* OpenGL ES 2.0 is derived from OpenGL 2.0 */
    const bool ver_2_0 = (extensions->ARB_texture_cube_map &&
@@ -464,9 +465,11 @@ compute_version_es2(const struct gl_extensions *extensions)
                          extensions->EXT_texture_snorm &&
                          extensions->NV_primitive_restart &&
                          extensions->OES_depth_texture_cube_map);
+   const bool es31_compute_shader =
+      consts->MaxComputeWorkGroupInvocations >= 128;
    const bool ver_3_1 = (ver_3_0 &&
                          extensions->ARB_arrays_of_arrays &&
-                         extensions->ARB_compute_shader &&
+                         es31_compute_shader &&
                          extensions->ARB_draw_indirect &&
                          extensions->ARB_explicit_uniform_location &&
                          extensions->ARB_framebuffer_no_attachments &&
@@ -508,7 +511,7 @@ _mesa_get_version(const struct gl_extensions *extensions,
    case API_OPENGLES:
       return compute_version_es1(extensions);
    case API_OPENGLES2:
-      return compute_version_es2(extensions);
+      return compute_version_es2(extensions, consts);
    }
    return 0;
 }

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to