[Mesa-dev] [PATCH v2 6/6] st/mesa: enable GL_KHR_robustness

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue Oct 4 08:36:33 UTC 2016



On 10/04/2016 10:11 AM, Nicolai Hähnle wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> The difference to the virtually identical ARB_robustness (which is already
> enabled unconditionally) is miniscule and handled elsewhere, but this caps
> seems like the right thing to require for this extension.

I guess you might want to update your commit description since you 
removed that device reset cap.

>
> v2: drop the device reset cap requirement (Ilia)
>
> Reviewed-by: Marek Olšák <marek.olsak at amd.com> (v1)
> Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>  docs/features.txt                      | 2 +-
>  docs/relnotes/12.1.0.html              | 1 +
>  src/mesa/state_tracker/st_extensions.c | 2 ++
>  3 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/docs/features.txt b/docs/features.txt
> index 037ee97..85ad1a1 100644
> --- a/docs/features.txt
> +++ b/docs/features.txt
> @@ -211,21 +211,21 @@ GL 4.5, GLSL 4.50:
>    GL_ARB_ES3_1_compatibility                            DONE (i965/hsw+, nvc0, radeonsi)
>    GL_ARB_clip_control                                   DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
>    GL_ARB_conditional_render_inverted                    DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
>    GL_ARB_cull_distance                                  DONE (i965, nv50, nvc0, radeonsi, llvmpipe, softpipe, swr)
>    GL_ARB_derivative_control                             DONE (i965, nv50, nvc0, r600, radeonsi)
>    GL_ARB_direct_state_access                            DONE (all drivers)
>    GL_ARB_get_texture_sub_image                          DONE (all drivers)
>    GL_ARB_shader_texture_image_samples                   DONE (i965, nv50, nvc0, r600, radeonsi)
>    GL_ARB_texture_barrier                                DONE (i965, nv50, nvc0, r600, radeonsi)
>    GL_KHR_context_flush_control                          DONE (all - but needs GLX/EGL extension to be useful)
> -  GL_KHR_robustness                                     DONE (i965)
> +  GL_KHR_robustness                                     DONE (i965, nvc0, radeonsi)

Marking nvc0 driver as robust is a lie. :)
But I'm sure Ilia asked for, anyways we can handle it correctly later if 
needed.

>    GL_EXT_shader_integer_mix                             DONE (all drivers that support GLSL)
>
>  These are the extensions cherry-picked to make GLES 3.1
>  GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, radeonsi
>
>    GL_ARB_arrays_of_arrays                               DONE (all drivers that support GLSL 1.30)
>    GL_ARB_compute_shader                                 DONE (i965/gen7+, softpipe)
>    GL_ARB_draw_indirect                                  DONE (i965/gen7+, r600, llvmpipe, softpipe, swr)
>    GL_ARB_explicit_uniform_location                      DONE (all drivers that support GLSL)
>    GL_ARB_framebuffer_no_attachments                     DONE (i965/gen7+, r600, softpipe)
> diff --git a/docs/relnotes/12.1.0.html b/docs/relnotes/12.1.0.html
> index dd17979..aff4dd3 100644
> --- a/docs/relnotes/12.1.0.html
> +++ b/docs/relnotes/12.1.0.html
> @@ -53,20 +53,21 @@ Note: some of the new features are only available with certain drivers.
>  <li>GL_ARB_enhanced_layouts on i965</li>
>  <li>GL_ARB_indirect_parameters on radeonsi</li>
>  <li>GL_ARB_query_buffer_object on radeonsi</li>
>  <li>GL_ARB_shader_draw_parameters on radeonsi</li>
>  <li>GL_ARB_shader_group_vote on nvc0</li>
>  <li>GL_ARB_shader_viewport_layer_array on i965/gen6+</li>
>  <li>GL_ARB_stencil_texturing on i965/hsw</li>
>  <li>GL_ARB_texture_stencil8 on i965/hsw</li>
>  <li>GL_EXT_window_rectangles on nv50, nvc0</li>
>  <li>GL_KHR_blend_equation_advanced on i965</li>
> +<li>GL_KHR_robustness on nvc0, radeonsi</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+, 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+, nvc0, radeonsi</li>
>  <li>GL_OES_tessellation_shader on i965/gen7+, nvc0, radeonsi</li>
>  <li>GL_OES_viewport_array on nvc0, radeonsi</li>
>  <li>GL_ANDROID_extension_pack_es31a on i965/gen9+</li>
>  </ul>
>
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index 4f42217..2282dc7 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -1192,20 +1192,22 @@ void st_init_extensions(struct pipe_screen *screen,
>              consts->MaxComputeWorkGroupCount[i] = grid_size[i];
>              consts->MaxComputeWorkGroupSize[i] = block_size[i];
>           }
>
>           extensions->ARB_compute_shader =
>                                        extensions->ARB_shader_image_load_store &&
>                                        extensions->ARB_shader_atomic_counters;
>        }
>     }
>
> +   extensions->KHR_robustness = extensions->ARB_robust_buffer_access_behavior;
> +
>     /* If we support ES 3.1, we support the ES3_1_compatibility ext. However
>      * there's no clean way of telling whether we would support ES 3.1 from
>      * here, so copy the condition from compute_version_es2 here. A lot of
>      * these are redunant, but simpler to just have a (near-)exact copy here.
>      */
>     extensions->ARB_ES3_1_compatibility =
>        extensions->ARB_ES3_compatibility &&
>        extensions->ARB_arrays_of_arrays &&
>        extensions->ARB_compute_shader &&
>        extensions->ARB_draw_indirect &&
>

-- 
-Samuel


More information about the mesa-dev mailing list