yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Yong HeAdd SPIRV intrinsics for ShaderExecutionReordering and RW/Buffer. (#3252)ccf2611c0

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