[Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures

Samuel Pitoiset samuel.pitoiset at gmail.com
Wed Apr 26 10:16:04 UTC 2017



On 04/26/2017 12:14 PM, Timothy Arceri wrote:
> 
> 
> On 26/04/17 19:50, Timothy Arceri wrote:
>> On 26/04/17 17:28, Nicolai Hähnle wrote:
>>> On 26.04.2017 04:45, Timothy Arceri wrote:
>>>> Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
>>>>
>>>> On 24/04/17 20:35, Samuel Pitoiset wrote:
>>>>> The spec doesn't clearly state this, but I have got clarifiation
>>>>> from the spec authors.
>>>
>>> Okay, that answers my question from the other email.
>>>
>>> BTW, what about samplers? It seems that this code doesn't check for 
>>> samplers at all?
>>
>> That's because this is one of those places where OpenGL is totally 
>> inconsistent. Samplers were already allowed, this was a really pain 
>> for implementing indirect indexing, especially when throwing AoA into 
>> the mix.
>>
>> Samuel it would be really good to have some piglit tests for images.
>> e.g. Arrays of structs with arrays of images, etc. There should be 
>> some examples in the ARB_gpu_shader5 and ARB_arrays_of_arrays 
>> execution piglit tests.
>>
>>
>>   Anyway, this patch:
>>>
>>> Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
>>>
>>>>>
>>>>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>>>>> ---
>>>>>   src/compiler/glsl/ast_to_hir.cpp | 2 +-
>>>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/src/compiler/glsl/ast_to_hir.cpp
>>>>> b/src/compiler/glsl/ast_to_hir.cpp
>>>>> index a63f9da912..5ef99bf504 100644
>>>>> --- a/src/compiler/glsl/ast_to_hir.cpp
>>>>> +++ b/src/compiler/glsl/ast_to_hir.cpp
>>>>> @@ -6944,7 +6944,7 @@
>>>>> ast_process_struct_or_iface_block_members(exec_list *instructions,
>>>>>               _mesa_glsl_error(&loc, state, "atomic counter in
>>>>> structure");
>>>>>            }
>>>>>   -         if (decl_type->contains_image()) {
>>>>> +         if (!state->has_bindless() && decl_type->contains_image()) {
>>>>>               /* FINISHME: Same problem as with atomic counters.
>>>>>                * FINISHME: Request clarification from Khronos and add
>>>>>                * FINISHME: spec quotation here.
> 
> I believe there was a spec bug filed for this (maybe internally). We 
> should probably check if that has been resolved. If so we might just 
> have to remove this check completely.
> 
>  From what I recall there was a spec bug where the outcome said samplers 
> in structs were allowed and atomics were not. This is what the FINISHME 
> is talking about. Currently the spec doesn't say images are not allowed.

Right. Would be nice to clarify the situation here.

> 
> 
>>>>>
>>>> _______________________________________________
>>>> mesa-dev mailing list
>>>> mesa-dev at lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>
>>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list