From 3394e81eb1ab47acdd9e2bc56233e544d41ff83c Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Sat, 21 May 2022 18:53:26 -0400 Subject: [PATCH] vtn: assert that composite members have the same bit size as the result Reviewed-by: Jason Ekstrand Part-of: --- src/compiler/spirv/spirv_to_nir.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index ffc3767c98e..cb5f99f3fb2 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -4079,8 +4079,10 @@ vtn_handle_composite(struct vtn_builder *b, SpvOp opcode, assume(elems >= 1); if (glsl_type_is_vector_or_scalar(type->type)) { nir_ssa_def *srcs[NIR_MAX_VEC_COMPONENTS]; - for (unsigned i = 0; i < elems; i++) + for (unsigned i = 0; i < elems; i++) { srcs[i] = vtn_get_nir_ssa(b, w[3 + i]); + vtn_assert(glsl_get_bit_size(type->type) == srcs[i]->bit_size); + } ssa->def = vtn_vector_construct(b, glsl_get_vector_elements(type->type), elems, srcs);