summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2016-08-27 17:47:37 -0400
committerIlia Mirkin <imirkin@alum.mit.edu>2016-08-31 20:12:55 -0400
commite3db41545676d0b7961ac4caa5ef645cdbf12691 (patch)
tree45799a6d3054f07bc2f2b96fddf0440bdd637c75
parent3bd885d09cea6ecf19ddfd948c8dd74f5e3ea600 (diff)
st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
-rw-r--r--docs/features.txt4
-rw-r--r--docs/relnotes/12.1.0.html4
-rw-r--r--src/mesa/state_tracker/st_extensions.c15
3 files changed, 19 insertions, 4 deletions
diff --git a/docs/features.txt b/docs/features.txt
index d6c3240cd32..690c160e424 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -260,7 +260,7 @@ GLES3.2, GLSL ES 3.2:
GL_OES_copy_image DONE (all drivers)
GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend)
GL_OES_draw_elements_base_vertex DONE (all drivers)
- GL_OES_geometry_shader DONE (i965/gen8+)
+ GL_OES_geometry_shader DONE (i965/gen8+, nvc0, radeonsi)
GL_OES_gpu_shader5 DONE (all drivers that support GL_ARB_gpu_shader5)
GL_OES_primitive_bounding_box DONE (i965/gen7+, nvc0, radeonsi)
GL_OES_sample_shading DONE (i965, nvc0, r600, radeonsi)
@@ -271,7 +271,7 @@ GLES3.2, GLSL ES 3.2:
GL_OES_tessellation_shader started (Ken)
GL_OES_texture_border_clamp DONE (all drivers)
GL_OES_texture_buffer DONE (i965, nvc0, radeonsi)
- GL_OES_texture_cube_map_array DONE (i965/gen8+)
+ GL_OES_texture_cube_map_array DONE (i965/gen8+, nvc0, radeonsi)
GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8)
GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample)
diff --git a/docs/relnotes/12.1.0.html b/docs/relnotes/12.1.0.html
index bb20e4fc0d6..3368ebca6d7 100644
--- a/docs/relnotes/12.1.0.html
+++ b/docs/relnotes/12.1.0.html
@@ -58,9 +58,9 @@ Note: some of the new features are only available with certain drivers.
<li>GL_KHR_blend_equation_advanced on i965</li>
<li>GL_KHR_texture_compression_astc_sliced_3d on i965</li>
<li>GL_OES_copy_image on nv50, nvc0, r600, radeonsi, softpipe, llvmpipe</li>
-<li>GL_OES_geometry_shader on i965/gen8+</li>
+<li>GL_OES_geometry_shader on i965/gen8+, nvc0, radeonsi</li>
<li>GL_OES_primitive_bounding_box on i965/gen7+, nvc0, radeonsi</li>
-<li>GL_OES_texture_cube_map_array on i965/gen8+</li>
+<li>GL_OES_texture_cube_map_array on i965/gen8+, nvc0, radeonsi</li>
</ul>
<h2>Bug fixes</h2>
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 2238d1a8550..807fbfbc1f6 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -946,6 +946,16 @@ void st_init_extensions(struct pipe_screen *screen,
extensions->ARB_tessellation_shader = GL_TRUE;
}
+ /* What this is really checking for is the ability to support multiple
+ * invocations of a geometry shader. There is no separate cap for that, so
+ * we check the GLSLVersion.
+ */
+ if (consts->GLSLVersion >= 400 &&
+ screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY,
+ PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) {
+ extensions->OES_geometry_shader = GL_TRUE;
+ }
+
if (screen->fence_finish) {
extensions->ARB_sync = GL_TRUE;
}
@@ -1211,6 +1221,11 @@ void st_init_extensions(struct pipe_screen *screen,
extensions->ARB_gpu_shader5 &&
extensions->EXT_shader_integer_mix;
+ extensions->OES_texture_cube_map_array =
+ extensions->ARB_ES3_1_compatibility &&
+ extensions->OES_geometry_shader &&
+ extensions->ARB_texture_cube_map_array;
+
extensions->OES_primitive_bounding_box = extensions->ARB_ES3_1_compatibility;
consts->NoPrimitiveBoundingBoxOutput = true;
}