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

Timothy Arceri tarceri at itsqueeze.com
Wed Apr 26 21:42:26 UTC 2017


On 27/04/17 01:01, Nicolai Hähnle wrote:
> On 26.04.2017 12:16, Timothy Arceri wrote:
>>
>>
>> On 26/04/17 20:14, 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.
>>
>> I should clarify that this outcome was decided in a separate bug report
>> from images.
> 
> Which bug report was this?

The atomic bug report was 10903. I don't have access to the private 
bugzilla at the moment so I can't lookup the image bug report. I got the 
atomic number from an old git commit.


> 
> Cheers,
> Nicolai
> 
> 
>>
>>>
>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>> _______________________________________________
>>> 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