diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/doc/doc.slang.expected | 4 | ||||
| -rw-r--r-- | tests/spirv/scalar-structured-buffer.slang | 26 |
2 files changed, 28 insertions, 2 deletions
diff --git a/tests/doc/doc.slang.expected b/tests/doc/doc.slang.expected index ed9892b33..1163e6485 100644 --- a/tests/doc/doc.slang.expected +++ b/tests/doc/doc.slang.expected @@ -120,7 +120,7 @@ void Hey::doAnotherThing(int a); # inputBuffer ``` -RWStructuredBuffer<int> inputBuffer +RWStructuredBuffer<int, DefaultDataLayout> inputBuffer ``` ## Description @@ -330,7 +330,7 @@ An enum # outputBuffer ``` -RWStructuredBuffer<int> outputBuffer +RWStructuredBuffer<int, DefaultDataLayout> outputBuffer ``` ## Description diff --git a/tests/spirv/scalar-structured-buffer.slang b/tests/spirv/scalar-structured-buffer.slang new file mode 100644 index 000000000..383ead9f5 --- /dev/null +++ b/tests/spirv/scalar-structured-buffer.slang @@ -0,0 +1,26 @@ +//TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=CHECK): -vk -compute + +float getData<L:IBufferDataLayout>(StructuredBuffer<float3, L> p, int index) +{ + return p[index].x; +} + +// GLSL: layout({{.*}}scalar{{.*}}) + +//TEST_INPUT:set scalarBuffer = ubuffer(data=[1 2 3 4 5 6], stride=12) +StructuredBuffer<float3, ScalarDataLayout> scalarBuffer; +//TEST_INPUT:set outputBuffer = out ubuffer(data=[0 0 0 0 0 0], stride=12) +RWStructuredBuffer<float3, ScalarDataLayout> outputBuffer; + +[numthreads(1,1,1)] +void computeMain() +{ + // CHECK: 1 + // CHECK: 1 + // CHECK: 1 + // CHECK: 4 + // CHECK: 4 + // CHECK: 4 + outputBuffer[0] = float3(getData(scalarBuffer, 0)); + outputBuffer[1] = float3(getData(scalarBuffer, 1)); +} |
