[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
Mon Feb 15 20:19:08 UTC 2016


ping? Ian, did you have a chance to look over my answers? Were you
hoping something more thorough would get done for these checks?

On Fri, Jan 8, 2016 at 6:24 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> 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