summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2016-02-16 01:27:27 -0500
committerIlia Mirkin <imirkin@alum.mit.edu>2016-03-30 22:57:17 -0400
commit2c7f5fe2960362b266aeb8e1ed0ebea762131df5 (patch)
treeec44e02a8e3a44aef9c09eab8a9fe4f30789079a
parent3002296cb68ebc9705b29e024e5fc67d5565ed46 (diff)
st/mesa: add ES sample-shading support
We require the full ARB_gpu_shader5 for now, but in the future some other CAP could get exposed to indicate that only the multisample-related behavior of ARB_gpu_shader5 is available. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--docs/GL3.txt6
-rw-r--r--src/mesa/state_tracker/st_extensions.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/docs/GL3.txt b/docs/GL3.txt
index f6248daa1b..489b821935 100644
--- a/docs/GL3.txt
+++ b/docs/GL3.txt
@@ -262,11 +262,11 @@ GLES3.2, GLSL ES 3.2
GL_OES_geometry_shader started (Marta)
GL_OES_gpu_shader5 DONE (all drivers that support GL_ARB_gpu_shader5)
GL_OES_primitive_bounding box not started
- GL_OES_sample_shading not started (based on parts of GL_ARB_sample_shading, which is done for some drivers)
- GL_OES_sample_variables not started (based on parts of GL_ARB_sample_shading, which is done for some drivers)
+ GL_OES_sample_shading DONE (nvc0, r600, radeonsi)
+ GL_OES_sample_variables DONE (nvc0, r600, radeonsi)
GL_OES_shader_image_atomic DONE (all drivers that support GL_ARB_shader_image_load_store)
GL_OES_shader_io_blocks not started (based on parts of GLSL 1.50, which is done)
- GL_OES_shader_multisample_interpolation not started (based on parts of GL_ARB_gpu_shader5, which is done)
+ GL_OES_shader_multisample_interpolation DONE (nvc0, r600, radeonsi)
GL_OES_tessellation_shader not started (based on GL_ARB_tessellation_shader, which is done for some drivers)
GL_OES_texture_border_clamp DONE (all drivers)
GL_OES_texture_buffer DONE (core only)
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 36a12010c2..0a25770aa0 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -921,6 +921,12 @@ void st_init_extensions(struct pipe_screen *screen,
extensions->ARB_sync = GL_TRUE;
}
+ /* Needs PIPE_CAP_SAMPLE_SHADING + all the sample-related bits of
+ * ARB_gpu_shader5. This enables all the per-sample shading ES extensions.
+ */
+ extensions->OES_sample_variables = extensions->ARB_sample_shading &&
+ extensions->ARB_gpu_shader5;
+
/* Maximum sample count. */
{
enum pipe_format color_formats[] = {