summaryrefslogtreecommitdiffstats
path: root/tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang
diff options
context:
space:
mode:
authorJay Kwak <82421531+jkwak-work@users.noreply.github.com>2025-09-25 10:06:29 -0700
committerGitHub <noreply@github.com>2025-09-25 17:06:29 +0000
commitf55f669d1badc94eb4eabf77a22a5994acca7a89 (patch)
treedb43b05492ddb64aea3b99f3f090228b76e30646 /tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang
parent2e0fe3d0608c4de239fd6cd2ecdf0322951855f5 (diff)
Fix VVL errors on coopvec tests (#8541)
It appears that the inputType of the coopvec-mat-mul cannot be signed int32. It could be floating types or signed int32. Changing the tests to use uint32 instead of int32. The spec guarantees the following combinations and the rest should be queried at the runtime if it is supported by the HW. https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeVectorPropertiesNV.html#_description inputType | inputInterpretation | matrixInterpretation | biasInterpretation | resultType -- | -- | -- | -- | -- FLOAT16 | FLOAT16 | FLOAT16 | FLOAT16 | FLOAT16 UINT32 | SINT8_PACKED | SINT8 | SINT32 | SINT32 SINT8 | SINT8 | SINT8 | SINT32 | SINT32 FLOAT32 | SINT8 | SINT8 | SINT32 | SINT32 FLOAT16 | FLOAT_E4M3 | FLOAT_E4M3 | FLOAT16 | FLOAT16 FLOAT16 | FLOAT_E5M2 | FLOAT_E5M2 | FLOAT16 | FLOAT16
Diffstat (limited to 'tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang')
-rw-r--r--tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang9
1 files changed, 6 insertions, 3 deletions
diff --git a/tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang b/tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang
index 5beb4d395..304b2c23a 100644
--- a/tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang
+++ b/tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang
@@ -1,4 +1,3 @@
-// Fails because VVL 1.4.313.0 has a bug that sees int32_t as uint32_t in validation layers, issue #7715
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-vk -render-feature cooperative-vector -output-using-type
// These platforms don't support these operations from structured buffers
@@ -16,7 +15,7 @@ RWStructuredBuffer<int32_t> outputBuffer;
//TEST_INPUT:ubuffer(data=[67305985], stride=4),name=input
//[1 2 3 4]
-StructuredBuffer<int32_t> input;
+StructuredBuffer<uint32_t> input;
//TEST_INPUT:ubuffer(data=[67305985 134678021 202050057 269422093], stride=4),name=matrix
//[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
@@ -25,7 +24,11 @@ StructuredBuffer<uint8_t> matrix;
[numthreads(1, 1, 1)]
void computeMain()
{
- let vec = coopVecLoad<1, int32_t>(input);
+ // Expected to fail with Vulkan 1.4.313.0 or below due to a bug in the VVL
+ // The VVL incorrectly reports that the result type in the following command is `VK_COMPONENT_TYPE_UINT32_KHR`.
+ // Tracking the issue in github #7715.
+
+ let vec = coopVecLoad<1, uint32_t>(input);
let result = coopVecMatMulPacked<int32_t, 4>(
vec,
CoopVecComponentType::SignedInt8Packed,