From 7c47a3d0f7a8180abb12f9cac7762320148abde3 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Tue, 25 Feb 2025 18:38:26 -0600 Subject: [PATCH] vtn: Support cooperative matrices in OpConstantNull Cooperative matrix initializers are a single scalar value that gets broadcasted to the entire matrix. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12679 Fixes: b98f87612bc1 ("spirv: Implement SPV_KHR_cooperative_matrix") Reviewed-by: Samuel Pitoiset Part-of: --- src/compiler/spirv/spirv_to_nir.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index a91cfb1cc2b..55932858064 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -2256,6 +2256,7 @@ vtn_null_constant(struct vtn_builder *b, struct vtn_type *type) switch (type->base_type) { case vtn_base_type_scalar: case vtn_base_type_vector: + case vtn_base_type_cooperative_matrix: c->is_null_constant = true; /* Nothing to do here. It's already initialized to zero */ break;