blob: 7cd04e93fb061888c905fd2faf9ff5dc49d1683e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// rw-buffer.slang
// Confirm that writing into a `RWBuffer` generates appropriate GLSL/SPIR-V.
//TEST:SIMPLE(filecheck=CHECK): -profile ps_5_0 -entry main -target spirv-assembly
//TEST:SIMPLE(filecheck=CHECK): -profile ps_5_0 -entry main -target spirv-assembly -emit-spirv-directly
RWBuffer<float> buffer;
Buffer<float> inBuffer;
float4 main(float u : U, int idx : IDX) : SV_Target
{
// CHECK-DAG: OpImageQuerySize
// CHECK-DAG: OpImageRead
// CHECK-DAG: OpImageFetch
// CHECK-DAG: OpImageWrite
uint s1, s2;
buffer.GetDimensions(s1);
buffer.GetDimensions(s2);
buffer[idx] = buffer[idx] + inBuffer[idx] + s1 + s2;
return u;
}
|