diff options
author | Ilia Mirkin <[email protected]> | 2016-08-27 17:47:37 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2016-08-31 20:12:55 -0400 |
commit | e3db41545676d0b7961ac4caa5ef645cdbf12691 (patch) | |
tree | 45799a6d3054f07bc2f2b96fddf0440bdd637c75 | |
parent | 3bd885d09cea6ecf19ddfd948c8dd74f5e3ea600 (diff) |
st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r-- | docs/features.txt | 4 | ||||
-rw-r--r-- | docs/relnotes/12.1.0.html | 4 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_extensions.c | 15 |
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; } |