summaryrefslogtreecommitdiffstats
path: root/src/compiler
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2019-04-15 15:00:02 +1000
committerTimothy Arceri <[email protected]>2019-04-15 19:25:12 +1000
commit8f74a60c43af119ae751181a58d6c0943c18be30 (patch)
tree4ed8f255b4a942c7f21f58b619520aa32202929a /src/compiler
parent14f03978ed0e9b10a3f56668bc42dbb39537bb58 (diff)
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 <[email protected]>
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/nir/nir_linking_helpers.c3
1 files changed, 2 insertions, 1 deletions
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));
}
}
}