summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2016-02-16 14:29:38 -0500
committerIlia Mirkin <imirkin@alum.mit.edu>2016-03-30 22:57:17 -0400
commit411a88accc8a2728abbdfbef4315addbc08cf5a3 (patch)
tree2f68e095821c26e2e85125eab98e5fe88984379a
parent5283e810157a3c392c9887e51c6ee0df849a4973 (diff)
mesa: add GL_OES_sample_shading support
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-rw-r--r--src/mapi/glapi/gen/es_EXT.xml6
-rw-r--r--src/mesa/main/enable.c4
-rw-r--r--src/mesa/main/extensions_table.h1
-rw-r--r--src/mesa/main/multisample.c3
-rw-r--r--src/mesa/main/tests/dispatch_sanity.cpp3
5 files changed, 14 insertions, 3 deletions
diff --git a/src/mapi/glapi/gen/es_EXT.xml b/src/mapi/glapi/gen/es_EXT.xml
index 8f8f997b20..8e51c05832 100644
--- a/src/mapi/glapi/gen/es_EXT.xml
+++ b/src/mapi/glapi/gen/es_EXT.xml
@@ -798,6 +798,12 @@
</function>
</category>
+<category name="GL_OES_sample_shading" number="169">
+ <function name="MinSampleShadingOES" alias="MinSampleShading" es2="3.0">
+ <param name="value" type="GLfloat"/>
+ </function>
+</category>
+
<!-- 174. GL_OES_texture_storage_multisample_2d_array -->
<category name="GL_OES_texture_storage_multisample_2d_array" number="174">
<enum name="TEXTURE_2D_MULTISAMPLE_ARRAY_OES" value="0x9102"/>
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index b90a60ba03..d2830770ec 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -807,7 +807,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
/* GL_ARB_sample_shading */
case GL_SAMPLE_SHADING:
- if (!_mesa_is_desktop_gl(ctx))
+ if (!_mesa_is_desktop_gl(ctx) && !_mesa_is_gles3(ctx))
goto invalid_enum_error;
CHECK_EXTENSION(ARB_sample_shading, cap);
if (ctx->Multisample.SampleShading == state)
@@ -1606,7 +1606,7 @@ _mesa_IsEnabled( GLenum cap )
/* ARB_sample_shading */
case GL_SAMPLE_SHADING:
- if (!_mesa_is_desktop_gl(ctx))
+ if (!_mesa_is_desktop_gl(ctx) && !_mesa_is_gles3(ctx))
goto invalid_enum_error;
CHECK_EXTENSION(ARB_sample_shading);
return ctx->Multisample.SampleShading;
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index 700ef24ab2..c1bcfc53d1 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -330,6 +330,7 @@ EXT(OES_point_sprite , ARB_point_sprite
EXT(OES_query_matrix , dummy_true , x , x , ES1, x , 2003)
EXT(OES_read_format , dummy_true , GLL, GLC, ES1, x , 2003)
EXT(OES_rgb8_rgba8 , dummy_true , x , x , ES1, ES2, 2005)
+EXT(OES_sample_shading , OES_sample_variables , x , x , x , 30, 2014)
EXT(OES_sample_variables , OES_sample_variables , x , x , x , 30, 2014)
EXT(OES_shader_image_atomic , ARB_shader_image_load_store , x , x , x , 31, 2015)
EXT(OES_single_precision , dummy_true , x , x , ES1, x , 2003)
diff --git a/src/mesa/main/multisample.c b/src/mesa/main/multisample.c
index 77773a2088..5453e38632 100644
--- a/src/mesa/main/multisample.c
+++ b/src/mesa/main/multisample.c
@@ -127,7 +127,8 @@ _mesa_MinSampleShading(GLclampf value)
{
GET_CURRENT_CONTEXT(ctx);
- if (!ctx->Extensions.ARB_sample_shading || !_mesa_is_desktop_gl(ctx)) {
+ if (!_mesa_has_ARB_sample_shading(ctx) &&
+ !_mesa_has_OES_sample_shading(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glMinSampleShading");
return;
}
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index 309e574ac3..06e7ec1a19 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -2454,6 +2454,9 @@ const struct function gles3_functions_possible[] = {
{ "glTexBufferOES", 31, -1 },
{ "glTexBufferRangeOES", 31, -1 },
+ /* GL_OES_sample_shading */
+ { "glMinSampleShadingOES", 30, -1 },
+
{ NULL, 0, -1 }
};