summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2019-05-03 13:23:45 +1000
committerDave Airlie <[email protected]>2019-05-03 15:23:00 +1000
commit6fd6246d92cde32426aafa3d0748f03f403f8f1b (patch)
tree7b878995321ed44545678e2cb8a59d07f8e0c9a4 /src
parent2774d39366d08f1d16d2071eaeabcfe7900e7021 (diff)
nir: fix lower vars to ssa for larger vector sizes.
This has a couple of hardcoded vec4 limits in it, change them to the proper sizing to avoid future issues. Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/compiler/nir/nir_lower_vars_to_ssa.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/compiler/nir/nir_lower_vars_to_ssa.c b/src/compiler/nir/nir_lower_vars_to_ssa.c
index 1e7dc8d3579..a5f4ca53cf9 100644
--- a/src/compiler/nir/nir_lower_vars_to_ssa.c
+++ b/src/compiler/nir/nir_lower_vars_to_ssa.c
@@ -534,7 +534,7 @@ rename_variables(struct lower_variables_state *state)
nir_op_imov);
mov->src[0].src = nir_src_for_ssa(
nir_phi_builder_value_get_block_def(node->pb_value, block));
- for (unsigned i = intrin->num_components; i < 4; i++)
+ for (unsigned i = intrin->num_components; i < NIR_MAX_VEC_COMPONENTS; i++)
mov->src[0].swizzle[i] = 0;
assert(intrin->dest.is_ssa);
@@ -584,8 +584,8 @@ rename_variables(struct lower_variables_state *state)
* intrin->num_components and value->num_components
* may differ.
*/
- unsigned swiz[4];
- for (unsigned i = 0; i < 4; i++)
+ unsigned swiz[NIR_MAX_VEC_COMPONENTS];
+ for (unsigned i = 0; i < NIR_MAX_VEC_COMPONENTS; i++)
swiz[i] = i < intrin->num_components ? i : 0;
new_def = nir_swizzle(&b, value, swiz,
@@ -597,7 +597,7 @@ rename_variables(struct lower_variables_state *state)
* written values with the existing contents of unwritten
* channels, creating a new SSA value for the whole vector.
*/
- nir_ssa_def *srcs[4];
+ nir_ssa_def *srcs[NIR_MAX_VEC_COMPONENTS];
for (unsigned i = 0; i < intrin->num_components; i++) {
if (wrmask & (1 << i)) {
srcs[i] = nir_channel(&b, value, i);