summaryrefslogtreecommitdiffstats
path: root/tests/compute/texture-subscript.slang
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-07-19 11:49:42 -0700
committerGitHub <noreply@github.com>2024-07-19 11:49:42 -0700
commitf114433debfba67cbe1db239b6e92278d41ed438 (patch)
tree3a8ff78deb657d203c87bd22bc2ee83575e834f6 /tests/compute/texture-subscript.slang
parentadf758c8c4032afcd96d995840bd697d2adef34c (diff)
Support parameter block in metal shader objects. (#4671)
* Support parameter block in metal shader objects. * Ingore parameter block tests on devices without tier2 argument buffer. * Fix warning. * Fix texture subscript test. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/compute/texture-subscript.slang')
-rw-r--r--tests/compute/texture-subscript.slang30
1 files changed, 17 insertions, 13 deletions
diff --git a/tests/compute/texture-subscript.slang b/tests/compute/texture-subscript.slang
index 9251f49f1..c15a0824b 100644
--- a/tests/compute/texture-subscript.slang
+++ b/tests/compute/texture-subscript.slang
@@ -2,7 +2,7 @@
//TEST:SIMPLE(filecheck=METALLIB): -target metallib -entry computeMain -stage compute
// Metal lacks RWTexture GFX backend support.
// Due to this, Metal compute test is disabled
-//DISABLE_TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUF): -slang -output-using-type -shaderobj -mtl
+//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUF): -slang -output-using-type -shaderobj -mtl
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUF): -slang -output-using-type -shaderobj -vk
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUF): -slang -output-using-type -shaderobj -vk -glsl
@@ -28,18 +28,22 @@ RWStructuredBuffer<uint> outputBuffer;
[numthreads(1,1,1)]
void computeMain()
{
- outputTexture1D[0].xz = int2(1,2).xx;
- outputTexture1D[1].x = int2(3,4).y;
-
- outputTexture2D[0].xz = int2(1,2).xx;
- outputTexture2D[int2(0, 1)].x = int2(3,4).y;
-
- outputTexture3D[0].xz = int2(1,2).xx;
- outputTexture3D[int3(0, 0, 1)].x = int2(3,4).y;
-
- outputTexture2DArray[0].xz = int2(1,2);
- outputTexture2DArray[int3(0, 0, 1)].xz = int2(3,4);
-
+ outputTexture1D[0].xz = int2(1, 2).xx;
+ AllMemoryBarrier();
+ outputTexture1D[1].x = int2(3, 4).y;
+ AllMemoryBarrier();
+ outputTexture2D[0].xz = int2(1, 2).xx;
+ AllMemoryBarrier();
+ outputTexture2D[int2(0, 1)].x = int2(3, 4).y;
+ AllMemoryBarrier();
+ outputTexture3D[0].xz = int2(1, 2).xx;
+ AllMemoryBarrier();
+ outputTexture3D[int3(0, 0, 1)].x = int2(3, 4).y;
+ AllMemoryBarrier();
+ outputTexture2DArray[0].xz = int2(1, 2);
+ AllMemoryBarrier();
+ outputTexture2DArray[int3(0, 0, 1)].xz = int2(3, 4);
+ AllMemoryBarrier();
outputBuffer[0] = uint(true
&& all(outputTexture1D[0] == int4(1, 0, 1, 0)) == true
&& all(outputTexture1D[1] == int4(4, 0, 0, 0)) == true