[Mesa-dev] [PATCH] mesa: add always-false-for-now enables for GL 4.3, 4.4, 4.5.

Ian Romanick idr at freedesktop.org
Fri Jan 8 15:19:50 PST 2016


On 01/08/2016 12:50 PM, Ilia Mirkin wrote:
> As the relevant extensions get implemented, the lines should be
> uncommented. I believe this is (almost) everything needed for those GL
> versions though.

It looks like this matches the list in GL3.txt for 4.3 and 4.4 anyway.
There appear to be some missing bits for 4.5.  Did you check to see if
any minimum maximums changed?

> 
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>  src/mesa/main/version.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 49 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
> index 112a73d..6a90661 100644
> --- a/src/mesa/main/version.c
> +++ b/src/mesa/main/version.c
> @@ -351,8 +351,55 @@ compute_version(const struct gl_extensions *extensions,
>                           extensions->ARB_shading_language_packing &&
>                           extensions->ARB_texture_compression_bptc &&
>                           extensions->ARB_transform_feedback_instanced);
> -
> -   if (ver_4_2) {
> +   const bool ver_4_3 = (ver_4_2 &&
> +                         consts->GLSLVersion >= 430 &&
> +                         extensions->ARB_ES3_compatibility &&
> +                         extensions->ARB_arrays_of_arrays &&
> +                         extensions->ARB_compute_shader &&
> +                         extensions->ARB_copy_image &&
> +                         extensions->ARB_explicit_uniform_location &&
> +                         extensions->ARB_fragment_layer_viewport &&
> +                         extensions->ARB_framebuffer_no_attachments &&
> +                         /* extensions->ARB_internalformat_query2 */ 0 &&
> +                         /* extensions->ARB_robust_buffer_access_behavior */ 0 &&
> +                         extensions->ARB_shader_image_size &&
> +                         extensions->ARB_shader_storage_buffer_object &&
> +                         extensions->ARB_stencil_texturing &&
> +                         extensions->ARB_texture_buffer_range &&
> +                         extensions->ARB_texture_query_levels &&
> +                         extensions->ARB_texture_view);
> +   const bool ver_4_4 = (ver_4_3 &&
> +                         consts->GLSLVersion >= 440 &&
> +                         extensions->ARB_buffer_storage &&
> +                         extensions->ARB_clear_texture &&
> +                         extensions->ARB_enhanced_layouts &&
> +                         /* extensions->ARB_query_buffer_object */ 0 &&
> +                         extensions->ARB_texture_mirror_clamp_to_edge &&
> +                         extensions->ARB_texture_stencil8 &&
> +                         extensions->ARB_vertex_type_10f_11f_11f_rev);
> +   const bool ver_4_5 = (ver_4_4 &&
> +                         consts->GLSLVersion >= 450 &&
> +                         /* extensions->ARB_ES3_1_compatibility */ 0 &&
> +                         extensions->ARB_clip_control &&
> +                         extensions->ARB_conditional_render_inverted &&
> +                         /* extensions->ARB_cull_distance */ 0 &&
> +                         extensions->ARB_derivative_control &&
> +                         extensions->ARB_shader_texture_image_samples &&
> +                         extensions->NV_texture_barrier);

GL3.txt also lists:

GL_KHR_robust_buffer_access_behavior
GL_KHR_robustness
GL_EXT_shader_integer_mix

Though I guess you could argue that GL_EXT_shader_integer_mix is really
just GLSL 4.50.

> +
> +   if (ver_4_5) {
> +      major = 4;
> +      minor = 5;
> +   }
> +   else if (ver_4_4) {
> +      major = 4;
> +      minor = 4;
> +   }
> +   else if (ver_4_3) {
> +      major = 4;
> +      minor = 3;
> +   }
> +   else if (ver_4_2) {
>        major = 4;
>        minor = 2;
>     }
> 



More information about the mesa-dev mailing list