zink: assert that ntv interp handling isn't doing implicit component expansion

the number of components that ntv loads should always be the number of components
that the nir shader thinks it's loading

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28530>
This commit is contained in:
Mike Blumenkrantz 2024-04-02 08:53:39 -04:00 committed by Marge Bot
parent a7509a09ec
commit 9fe9681db1
1 changed files with 1 additions and 0 deletions

View File

@ -2754,6 +2754,7 @@ emit_interpolate(struct ntv_context *ctx, nir_intrinsic_instr *intr)
SpvId ptr = get_src(ctx, &intr->src[0], &ptype);
SpvId result;
const struct glsl_type *gtype = nir_src_as_deref(intr->src[0])->type;
assert(glsl_get_vector_elements(gtype) == intr->num_components);
assert(ptype == get_nir_alu_type(gtype));
if (intr->intrinsic == nir_intrinsic_interp_deref_at_centroid)
result = emit_builtin_unop(ctx, op, get_glsl_type(ctx, gtype), ptr);