From e3db41545676d0b7961ac4caa5ef645cdbf12691 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Sat, 27 Aug 2016 17:47:37 -0400 Subject: st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ilia Mirkin Reviewed-by: Marek Olšák --- docs/features.txt | 4 ++-- docs/relnotes/12.1.0.html | 4 ++-- 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 d6c3240..690c160 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 bb20e4f..3368ebc 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.
  • GL_KHR_blend_equation_advanced on i965
  • GL_KHR_texture_compression_astc_sliced_3d on i965
  • GL_OES_copy_image on nv50, nvc0, r600, radeonsi, softpipe, llvmpipe
  • -
  • GL_OES_geometry_shader on i965/gen8+
  • +
  • GL_OES_geometry_shader on i965/gen8+, nvc0, radeonsi
  • GL_OES_primitive_bounding_box on i965/gen7+, nvc0, radeonsi
  • -
  • GL_OES_texture_cube_map_array on i965/gen8+
  • +
  • GL_OES_texture_cube_map_array on i965/gen8+, nvc0, radeonsi
  • Bug fixes

    diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 2238d1a..807fbfb 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; } -- cgit v1.1