st/mesa: enable ARB_ES3_1_compatibility when ES 3.1 would be exposed
authorIlia Mirkin <imirkin@alum.mit.edu>
Tue, 24 May 2016 03:00:45 +0000 (23:00 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Tue, 24 May 2016 03:47:11 +0000 (23:47 -0400)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
docs/GL3.txt
docs/relnotes/11.3.0.html
src/mesa/state_tracker/st_extensions.c

index 4a9cf0b830c3e0e5209b76621df9c4b9d423a7a2..029fe5f481801ff4e30b22853c92b452f4189058 100644 (file)
@@ -208,7 +208,7 @@ GL 4.4, GLSL 4.40:
 
 GL 4.5, GLSL 4.50:
 
-  GL_ARB_ES3_1_compatibility                            not started
+  GL_ARB_ES3_1_compatibility                            DONE (nvc0, radeonsi)
   GL_ARB_clip_control                                   DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
   GL_ARB_conditional_render_inverted                    DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
   GL_ARB_cull_distance                                  DONE (i965, nv50, nvc0, llvmpipe, softpipe)
index 281b84ce72738dbf60d19d5927d5c76516ea9cec..afed0436098539df1e31e83f154ed7108958a595 100644 (file)
@@ -45,6 +45,7 @@ Note: some of the new features are only available with certain drivers.
 
 <ul>
 <li>OpenGL 4.2 on radeonsi</li>
+<li>GL_ARB_ES3_1_compatibility on nvc0, radeonsi</li>
 <li>GL_ARB_compute_shader on radeonsi, softpipe</li>
 <li>GL_ARB_cull_distance on i965/gen6+, nv50, nvc0, llvmpipe, softpipe</li>
 <li>GL_ARB_framebuffer_no_attachments on nvc0, r600, radeonsi, softpipe</li>
index 1d5175b83f4b94755de322e15737b29b86d776f6..68e66018feb5784d1578e988d5ddbf068d60c4a6 100644 (file)
@@ -1181,4 +1181,26 @@ void st_init_extensions(struct pipe_screen *screen,
                                       extensions->ARB_shader_atomic_counters;
       }
    }
+
+   /* If we support ES 3.1, we support the ES3_1_compatibility ext. However
+    * there's no clean way of telling whether we would support ES 3.1 from
+    * here, so copy the condition from compute_version_es2 here. A lot of
+    * these are redunant, but simpler to just have a (near-)exact copy here.
+    */
+   extensions->ARB_ES3_1_compatibility =
+      extensions->ARB_ES3_compatibility &&
+      extensions->ARB_arrays_of_arrays &&
+      extensions->ARB_compute_shader &&
+      extensions->ARB_draw_indirect &&
+      extensions->ARB_explicit_uniform_location &&
+      extensions->ARB_framebuffer_no_attachments &&
+      extensions->ARB_shader_atomic_counters &&
+      extensions->ARB_shader_image_load_store &&
+      extensions->ARB_shader_image_size &&
+      extensions->ARB_shader_storage_buffer_object &&
+      extensions->ARB_shading_language_packing &&
+      extensions->ARB_stencil_texturing &&
+      extensions->ARB_texture_multisample &&
+      extensions->ARB_gpu_shader5 &&
+      extensions->EXT_shader_integer_mix;
 }