radeonsi/nir: support interface output types to fix SPIR-V xfb piglits
authorMarek Olšák <marek.olsak@amd.com>
Thu, 7 Nov 2019 01:50:26 +0000 (20:50 -0500)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 28 Nov 2019 00:28:34 +0000 (19:28 -0500)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
src/gallium/drivers/radeonsi/si_shader_nir.c

index 342abe36dd0b5fb9c209af727d41d270718a3a56..d050ff0bc095774041ddf32f323049c2bf149a72 100644 (file)
@@ -547,7 +547,7 @@ static void scan_output_helper(const nir_variable *var,
                               const struct glsl_type *type,
                               struct tgsi_shader_info *info)
 {
-       if (glsl_type_is_struct(type)) {
+       if (glsl_type_is_struct(type) || glsl_type_is_interface(type)) {
                for (unsigned i = 0; i < glsl_get_length(type); i++) {
                        const struct glsl_type *ft = glsl_get_struct_field(type, i);
                        scan_output_helper(var, location, ft, info);