diff options
| author | Yong He <yonghe@outlook.com> | 2024-07-19 11:49:42 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-19 11:49:42 -0700 |
| commit | f114433debfba67cbe1db239b6e92278d41ed438 (patch) | |
| tree | 3a8ff78deb657d203c87bd22bc2ee83575e834f6 /tests/compute/texture-subscript.slang | |
| parent | adf758c8c4032afcd96d995840bd697d2adef34c (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.slang | 30 |
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 |
