On 11/04/18 01:11, Jason Ekstrand wrote:
On Tue, Apr 10, 2018 at 8:05 AM, Karol Herbst <kher...@redhat.com <mailto:kher...@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 <kher...@redhat.com
    <mailto:kher...@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);



               instr->variables[0] = evaluate_deref(&instr->instr, image);
               param = param->get_next();
    --
    2.14.3




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

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

Reply via email to