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);