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

Ilia Mirkin imirkin at alum.mit.edu
Fri Jan 8 15:24:20 PST 2016


On Fri, Jan 8, 2016 at 6:19 PM, Ian Romanick <idr at freedesktop.org> wrote:
> 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?

The SSBO min changed to 1<<27 ... somewhere. But I didn't do anything thorough.

>
>>
>> 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

These two are identical to the ARB versions from what I can tell
(except that there are minor EGL interactions, etc). Didn't seem like
they'd be getting their own enables. I'd actually be in favor of just
removing them from GL3.txt, unless I've misunderstood what was going
on.

> GL_EXT_shader_integer_mix

Well, you'd also get this via GL_ARB_ES3_1_compatibility right? From that spec:

    - new GLSL built-in functions which extend mix() to select between int,
    uint, and bool components.


>
> 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