From 8f74a60c43af119ae751181a58d6c0943c18be30 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Mon, 15 Apr 2019 15:00:02 +1000 Subject: [PATCH] nir: fix packing components with arrays When gathering info for unmovable types we need to handle arrays. While we dont support packing/moving arrays we do support packing scalar components with these arrays. Fixes piglit: tests/spec/arb_enhanced_layouts/execution/component-layout/vs-fs-array-interleave-range.shader_test Fixes: 5eb17506e159 ("nir: do not pack varying with different types") Reviewed-by: Samuel Pitoiset --- src/compiler/nir/nir_linking_helpers.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_linking_helpers.c b/src/compiler/nir/nir_linking_helpers.c index 7594728e25e..f4494c78f98 100644 --- a/src/compiler/nir/nir_linking_helpers.c +++ b/src/compiler/nir/nir_linking_helpers.c @@ -309,7 +309,8 @@ get_unmoveable_components_masks(struct exec_list *var_list, comps[location + i].interp_type = get_interp_type(var, type, default_to_smooth_interp); comps[location + i].interp_loc = get_interp_loc(var); - comps[location + i].is_32bit = glsl_type_is_32bit(type); + comps[location + i].is_32bit = + glsl_type_is_32bit(glsl_without_array(type)); } } } -- 2.30.2