nir/xfb: do not use bare interface type
authorJuan A. Suarez Romero <jasuarez@igalia.com>
Wed, 10 Apr 2019 15:13:19 +0000 (17:13 +0200)
committerJuan A. Suarez Romero <jasuarez@igalia.com>
Thu, 11 Apr 2019 09:52:45 +0000 (11:52 +0200)
In commit 3b3653c4cfb we decided not to use bare types; hence do not use
bare type when comparing with interface type to find out if the xfb
variable is an array block.

This fixes dEQP-VK.transform_feedback.* tests.

Fixes: 3b3653c4cfb ("nir/spirv: don't use bare types, remove assert in
                     split vars for testing")
CC: Dave Airlie <airlied@redhat.com>
CC: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/nir/nir_gather_xfb_info.c

index 962f4801a67288881975d3cc96a3cf0e74ef2361..562bacbed6205a066c6c99c175b8c3709ed2645b 100644 (file)
@@ -231,7 +231,7 @@ nir_gather_xfb_info_with_varyings(const nir_shader *shader,
        */
       bool is_array_block = var->interface_type != NULL &&
          glsl_type_is_array(var->type) &&
-         glsl_without_array(var->type) == glsl_get_bare_type(var->interface_type);
+         glsl_without_array(var->type) == var->interface_type;
 
       if (var->data.explicit_offset && !is_array_block) {
          unsigned offset = var->data.offset;