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: b98f87612b ("spirv: Implement SPV_KHR_cooperative_matrix")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33747>
(cherry picked from commit 7c47a3d0f7)
This commit is contained in:
Faith Ekstrand 2025-02-25 18:38:26 -06:00 committed by Eric Engestrom
parent c420a3495b
commit 3be28b42e2
2 changed files with 2 additions and 1 deletions

View file

@ -2024,7 +2024,7 @@
"description": "vtn: Support cooperative matrices in OpConstantNull",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "b98f87612bc14fe88184dc099d9d4f8e6b3b23cb",
"notes": null

View file

@ -2228,6 +2228,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;