vtn: assert that composite members have the same bit size as the result

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16667>
This commit is contained in:
Mike Blumenkrantz
2022-05-21 18:53:26 -04:00
committed by Marge Bot
parent 54e1072ff6
commit 3394e81eb1

View File

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