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

Timothy Arceri tarceri at itsqueeze.com
Wed Apr 26 10:14:51 UTC 2017



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.


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