yum-mirror/slang

Making it easier to work with shaders

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

Darren WihandiMap `SV_VertexID` to `gl_VertexIndex-gl_BaseVertex`, add `SV_Vulkan*ID` semantics (#7150)634e3960c

master
602 B16 linesraw
1//TEST:SIMPLE(filecheck=GLSL): -target glsl -entry vertMain -stage vertex
2//TEST:SIMPLE(filecheck=CHECK): -target spirv
3//TEST:SIMPLE(filecheck=CHECK): -target spirv  -emit-spirv-via-glsl
4
5// CHECK-DAG: %[[BASE_VERTEX:[0-9]+|[a-zA-Z_][a-zA-Z0-9_]*]] = OpVariable {{.*}} BuiltIn BaseVertex
6// CHECK-DAG: %[[REG1:[0-9a-zA-Z_]+]] = OpLoad %int %[[BASE_VERTEX]]
7// CHECK-DAG: %[[REG2:[0-9a-zA-Z_]+]] = OpLoad %int %gl_VertexIndex
8// CHECK-DAG: OpISub %int %[[REG2]] %[[REG1]]
9
10// GLSL: gl_VertexIndex - gl_BaseVertex
11
12[shader("vertex")]
13float4 vertMain(int i : SV_VertexID) : SV_Position
14{
15    return i;
16}