[Mesa-dev] [PATCH v2 3/3] glsl/nir: fix variable type for image intrinsics and ubos

Jason Ekstrand jason at jlekstrand.net
Tue Apr 10 22:58:02 UTC 2018


On Tue, Apr 10, 2018 at 3:16 PM, Timothy Arceri <tarceri at itsqueeze.com>
wrote:

>
>
> On 11/04/18 01:11, Jason Ekstrand wrote:
>
>> On Tue, Apr 10, 2018 at 8:05 AM, Karol Herbst <kherbst at redhat.com
>> <mailto:kherbst at redhat.com>> wrote:
>>
>>     If the bindless image is passed through a struct we ended up getting
>> the
>>     glsl_type of the struct, not the image.
>>
>>     variable_referenced points to the declaration of the struct, so it
>>     won't work
>>     for bindless images. So just drop it.
>>
>>     Signed-off-by: Karol Herbst <kherbst at redhat.com
>>     <mailto:kherbst at redhat.com>>
>>     ---
>>       src/compiler/glsl/glsl_to_nir.cpp | 2 +-
>>       1 file changed, 1 insertion(+), 1 deletion(-)
>>
>>     diff --git a/src/compiler/glsl/glsl_to_nir.cpp
>>     b/src/compiler/glsl/glsl_to_nir.cpp
>>     index 9f233637306..bb9ba3af04a 100644
>>     --- a/src/compiler/glsl/glsl_to_nir.cpp
>>     +++ b/src/compiler/glsl/glsl_to_nir.cpp
>>     @@ -893,7 +893,7 @@ nir_visitor::visit(ir_call *ir)
>>                exec_node *param = ir->actual_parameters.get_head();
>>                ir_dereference *image = (ir_dereference *)param;
>>                const glsl_type *type =
>>     -            image->variable_referenced()->type->without_array();
>>     +            image->type->without_array();
>>
>>
>> I asked this question on the last version as well: Do we really need
>> without_array()?
>>
>
> And I replied to that question as well :P
>
> The struct member type is set in ir.cpp without removing the array:
>
>    this->type = this->record->type->field_type(field);
>

I'm not sure what you mean though.  if we have an array dereference, it
will strip one array level off of the type for each array dereference.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180410/149c66cd/attachment.html>


More information about the mesa-dev mailing list