summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--tests/cooperative-vector/matrix-mul-bias-mut.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-bias-packed-mut.slang5
-rw-r--r--tests/cooperative-vector/matrix-mul-bias-packed.slang5
-rw-r--r--tests/cooperative-vector/matrix-mul-bias-rw-packed.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-bias-rw.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-bias-rwbyteaddress-packed.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-bias-structuredbuffer-packed.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-bias.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-byteaddress.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-mut.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-packed-mut.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-packed.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-rw-packed.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-rw.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-rwbyteaddress-packed.slang7
-rw-r--r--tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang9
-rw-r--r--tests/cooperative-vector/matrix-mul.slang7
-rw-r--r--tests/cooperative-vector/outer-product-structuredbuffer.slang3
-rw-r--r--tests/cooperative-vector/outer-product.slang3
-rw-r--r--tests/expected-failure-github.txt7
20 files changed, 89 insertions, 41 deletions
diff --git a/tests/cooperative-vector/matrix-mul-bias-mut.slang b/tests/cooperative-vector/matrix-mul-bias-mut.slang
index b7cdf8190..8b91dee38 100644
--- a/tests/cooperative-vector/matrix-mul-bias-mut.slang
+++ b/tests/cooperative-vector/matrix-mul-bias-mut.slang
@@ -1,8 +1,7 @@
-// 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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
-// Disabled because HLSL doesn't support int8
+// Disabled because HLSL doesn't support int8
//DISABLE_TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
// CHECK: type: int32_t
@@ -28,6 +27,10 @@ ByteAddressBuffer bias;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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.
+
CoopVec<int8_t, 4> vec = coopVecLoad<4, int8_t>(input);
var result = CoopVec<int32_t, 4>(8000);
result.matMulAddAccum(
diff --git a/tests/cooperative-vector/matrix-mul-bias-packed-mut.slang b/tests/cooperative-vector/matrix-mul-bias-packed-mut.slang
index 0aeac358f..f25a774ed 100644
--- a/tests/cooperative-vector/matrix-mul-bias-packed-mut.slang
+++ b/tests/cooperative-vector/matrix-mul-bias-packed-mut.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 -emit-spirv-directly
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
@@ -26,6 +25,10 @@ ByteAddressBuffer bias;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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);
var result = CoopVec<int32_t, 4>(8000);
result.matMulAddAccumPacked(
diff --git a/tests/cooperative-vector/matrix-mul-bias-packed.slang b/tests/cooperative-vector/matrix-mul-bias-packed.slang
index 92219005d..5f6377ab6 100644
--- a/tests/cooperative-vector/matrix-mul-bias-packed.slang
+++ b/tests/cooperative-vector/matrix-mul-bias-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 -emit-spirv-directly
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
@@ -26,6 +25,10 @@ ByteAddressBuffer bias;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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 = coopVecMatMulAddPacked<int32_t, 4>(
vec,
diff --git a/tests/cooperative-vector/matrix-mul-bias-rw-packed.slang b/tests/cooperative-vector/matrix-mul-bias-rw-packed.slang
index be4a3e0d9..083a819cd 100644
--- a/tests/cooperative-vector/matrix-mul-bias-rw-packed.slang
+++ b/tests/cooperative-vector/matrix-mul-bias-rw-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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
@@ -28,7 +27,11 @@ RWByteAddressBuffer bias;
[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);
CoopVec<int32_t, 4> result = coopVecMatMulAddPacked<int32_t, 4>(
vec,
CoopVecComponentType::SignedInt8Packed,
diff --git a/tests/cooperative-vector/matrix-mul-bias-rw.slang b/tests/cooperative-vector/matrix-mul-bias-rw.slang
index 453a5020c..3a551dd11 100644
--- a/tests/cooperative-vector/matrix-mul-bias-rw.slang
+++ b/tests/cooperative-vector/matrix-mul-bias-rw.slang
@@ -1,8 +1,7 @@
-// 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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
-// Disabled because HLSL doesn't support int8
+// Disabled because HLSL doesn't support int8
//DISABLE_TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
// CHECK: type: int32_t
@@ -28,6 +27,10 @@ RWByteAddressBuffer bias;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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.
+
CoopVec<int8_t, 4> vec = coopVecLoad<4, int8_t>(input);
CoopVec<int32_t, 4> result = coopVecMatMulAdd<int32_t, 4, 4>(
vec,
diff --git a/tests/cooperative-vector/matrix-mul-bias-rwbyteaddress-packed.slang b/tests/cooperative-vector/matrix-mul-bias-rwbyteaddress-packed.slang
index c78d7b5a3..c08c80b69 100644
--- a/tests/cooperative-vector/matrix-mul-bias-rwbyteaddress-packed.slang
+++ b/tests/cooperative-vector/matrix-mul-bias-rwbyteaddress-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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
@@ -28,7 +27,11 @@ RWByteAddressBuffer bias;
[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);
CoopVec<int32_t, 4> result = coopVecMatMulAddPacked<int32_t, 4>(
vec,
CoopVecComponentType::SignedInt8Packed,
diff --git a/tests/cooperative-vector/matrix-mul-bias-structuredbuffer-packed.slang b/tests/cooperative-vector/matrix-mul-bias-structuredbuffer-packed.slang
index ad3110348..ddf0cae98 100644
--- a/tests/cooperative-vector/matrix-mul-bias-structuredbuffer-packed.slang
+++ b/tests/cooperative-vector/matrix-mul-bias-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]
@@ -28,6 +27,10 @@ StructuredBuffer<uint8_t> bias;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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>(input);
let result = coopVecMatMulAddPacked<int32_t, 4>(
vec,
diff --git a/tests/cooperative-vector/matrix-mul-bias.slang b/tests/cooperative-vector/matrix-mul-bias.slang
index 453e87f30..6ef85fc01 100644
--- a/tests/cooperative-vector/matrix-mul-bias.slang
+++ b/tests/cooperative-vector/matrix-mul-bias.slang
@@ -1,8 +1,7 @@
-// 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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
-// Disabled because HLSL doesn't support int8
+// Disabled because HLSL doesn't support int8
//DISABLE_TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
// CHECK: type: int32_t
@@ -28,6 +27,10 @@ ByteAddressBuffer bias;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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.
+
CoopVec<int8_t, 4> vec = coopVecLoad<4, int8_t>(input);
let result = coopVecMatMulAdd<int32_t, 4, 4>(
vec,
diff --git a/tests/cooperative-vector/matrix-mul-byteaddress.slang b/tests/cooperative-vector/matrix-mul-byteaddress.slang
index 28666767f..3bb73a2d7 100644
--- a/tests/cooperative-vector/matrix-mul-byteaddress.slang
+++ b/tests/cooperative-vector/matrix-mul-byteaddress.slang
@@ -1,8 +1,7 @@
-// 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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
-// Disabled because HLSL doesn't support int8
+// Disabled because HLSL doesn't support int8
//DISABLE_TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
// CHECK: type: int32_t
@@ -24,6 +23,10 @@ ByteAddressBuffer matrix;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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.
+
CoopVec<int8_t, 4> vec = coopVecLoad<4, int8_t>(input);
let result = coopVecMatMul<int32_t, 4, 4>(
vec,
diff --git a/tests/cooperative-vector/matrix-mul-mut.slang b/tests/cooperative-vector/matrix-mul-mut.slang
index ff40d1e72..06b09bc95 100644
--- a/tests/cooperative-vector/matrix-mul-mut.slang
+++ b/tests/cooperative-vector/matrix-mul-mut.slang
@@ -1,8 +1,7 @@
-// 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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
-// Disabled because HLSL doesn't support int8
+// Disabled because HLSL doesn't support int8
//DISABLE_TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
// CHECK: type: int32_t
@@ -24,6 +23,10 @@ ByteAddressBuffer matrix;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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<4, int8_t>(input);
var result = CoopVec<int32_t, 4>(1);
result.matMulAccum(
diff --git a/tests/cooperative-vector/matrix-mul-packed-mut.slang b/tests/cooperative-vector/matrix-mul-packed-mut.slang
index 765d678c5..f3a85ae94 100644
--- a/tests/cooperative-vector/matrix-mul-packed-mut.slang
+++ b/tests/cooperative-vector/matrix-mul-packed-mut.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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
//Test(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
@@ -22,7 +21,11 @@ ByteAddressBuffer 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);
var result = CoopVec<int32_t, 4>(1);
result.matMulAccumPacked(
vec,
diff --git a/tests/cooperative-vector/matrix-mul-packed.slang b/tests/cooperative-vector/matrix-mul-packed.slang
index f1983cf30..b6d6e9fef 100644
--- a/tests/cooperative-vector/matrix-mul-packed.slang
+++ b/tests/cooperative-vector/matrix-mul-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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
//Test(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
@@ -22,7 +21,11 @@ ByteAddressBuffer 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,
diff --git a/tests/cooperative-vector/matrix-mul-rw-packed.slang b/tests/cooperative-vector/matrix-mul-rw-packed.slang
index d439c8d37..c5d67ae84 100644
--- a/tests/cooperative-vector/matrix-mul-rw-packed.slang
+++ b/tests/cooperative-vector/matrix-mul-rw-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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
@@ -24,7 +23,11 @@ RWByteAddressBuffer 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);
CoopVec<int32_t, 4> result = coopVecMatMulPacked<int32_t, 4>(
vec,
CoopVecComponentType::SignedInt8Packed,
diff --git a/tests/cooperative-vector/matrix-mul-rw.slang b/tests/cooperative-vector/matrix-mul-rw.slang
index 488e83047..3f64cbeaf 100644
--- a/tests/cooperative-vector/matrix-mul-rw.slang
+++ b/tests/cooperative-vector/matrix-mul-rw.slang
@@ -1,8 +1,7 @@
-// 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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
-// Disabled because HLSL doesn't support int8
+// Disabled because HLSL doesn't support int8
//DISABLE_TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
// CHECK: type: int32_t
@@ -24,6 +23,10 @@ RWByteAddressBuffer matrix;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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.
+
CoopVec<int8_t, 4> vec = coopVecLoad<4, int8_t>(input);
CoopVec<int32_t, 4> result = coopVecMatMul<int32_t, 4, 4>(
vec,
diff --git a/tests/cooperative-vector/matrix-mul-rwbyteaddress-packed.slang b/tests/cooperative-vector/matrix-mul-rwbyteaddress-packed.slang
index d439c8d37..c5d67ae84 100644
--- a/tests/cooperative-vector/matrix-mul-rwbyteaddress-packed.slang
+++ b/tests/cooperative-vector/matrix-mul-rwbyteaddress-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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
@@ -24,7 +23,11 @@ RWByteAddressBuffer 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);
CoopVec<int32_t, 4> result = coopVecMatMulPacked<int32_t, 4>(
vec,
CoopVecComponentType::SignedInt8Packed,
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,
diff --git a/tests/cooperative-vector/matrix-mul.slang b/tests/cooperative-vector/matrix-mul.slang
index b8d27fc3d..31dd52776 100644
--- a/tests/cooperative-vector/matrix-mul.slang
+++ b/tests/cooperative-vector/matrix-mul.slang
@@ -1,8 +1,7 @@
-// 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
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
-// Disabled because HLSL doesn't support int8
+// Disabled because HLSL doesn't support int8
//DISABLE_TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-dx12 -render-feature cooperative-vector -dx12-experimental -output-using-type -profile cs_6_9 -Xslang... -Xdxc -Vd -X.
// CHECK: type: int32_t
@@ -24,6 +23,10 @@ ByteAddressBuffer matrix;
[numthreads(1, 1, 1)]
void computeMain()
{
+ // 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<4, int8_t>(input);
let result = coopVecMatMul<int32_t, 4, 4>(
vec,
diff --git a/tests/cooperative-vector/outer-product-structuredbuffer.slang b/tests/cooperative-vector/outer-product-structuredbuffer.slang
index a2a408c9e..6cd534796 100644
--- a/tests/cooperative-vector/outer-product-structuredbuffer.slang
+++ b/tests/cooperative-vector/outer-product-structuredbuffer.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 into structured buffers
@@ -64,7 +63,7 @@ void computeMain()
output,
0,
32,
- CoopVecMatrixLayout::RowMajor,
+ CoopVecMatrixLayout::TrainingOptimal,
CoopVecComponentType::Float16,
);
}
diff --git a/tests/cooperative-vector/outer-product.slang b/tests/cooperative-vector/outer-product.slang
index db11a319c..c872ffb9a 100644
--- a/tests/cooperative-vector/outer-product.slang
+++ b/tests/cooperative-vector/outer-product.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
// HLSL doesn't support the training operations
@@ -65,7 +64,7 @@ void computeMain()
output,
0,
32,
- CoopVecMatrixLayout::RowMajor,
+ CoopVecMatrixLayout::TrainingOptimal,
CoopVecComponentType::Float16,
);
diff --git a/tests/expected-failure-github.txt b/tests/expected-failure-github.txt
index 6346a4f1f..6c2600beb 100644
--- a/tests/expected-failure-github.txt
+++ b/tests/expected-failure-github.txt
@@ -1,3 +1,5 @@
+# CoopVec tests failures are due to a bug in old VulkanSDK version 1.4.313.0 or below.
+# When we upgrade VulkanSDK version on all CI machines, they should be removed from this list.
tests/cooperative-vector/matrix-mul-bias-mut.slang (vk)
tests/cooperative-vector/matrix-mul-bias-packed-mut.slang (vk)
tests/cooperative-vector/matrix-mul-bias-packed.slang (vk)
@@ -15,10 +17,7 @@ tests/cooperative-vector/matrix-mul-rw.slang (vk)
tests/cooperative-vector/matrix-mul-rwbyteaddress-packed.slang (vk)
tests/cooperative-vector/matrix-mul-structuredbuffer-packed.slang (vk)
tests/cooperative-vector/matrix-mul.slang (vk)
-tests/cooperative-vector/outer-product-structuredbuffer.slang (vk)
-tests/cooperative-vector/outer-product.slang (vk)
-tests/cooperative-vector/reduce-sum-accumulate-structuredbuffer.slang.3 syn (cuda)
-tests/cooperative-vector/reduce-sum-accumulate.slang.3 syn (cuda)
+
tests/language-feature/saturated-cooperation/simple.slang (vk)
tests/language-feature/saturated-cooperation/fuse3.slang (vk)
tests/language-feature/saturated-cooperation/fuse-product.slang (vk)