yum-mirror/slang

Making it easier to work with shaders

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

Yong He[SPIRV] fix code gen for `SV_Coverage`. (#3718)6f8a20688

master
738 B23 linesraw
1//TEST:SIMPLE(filecheck=CHECK): -target spirv -emit-spirv-directly -entry main -stage mesh
2struct PerVertex {
3    float4 pos : SV_Position;
4};
5
6struct PerPrimitive {
7    uint32_t primitive_id : SV_PrimitiveID;
8    uint32_t layer : SV_RenderTargetArrayIndex;
9};
10
11// CHECK: %gl_PrimitiveID = OpVariable %_ptr_Output__arr_int_int_1 Output
12
13[shader("mesh")]
14[numthreads(1, 1, 1)]
15[outputtopology("triangle")]
16void main(out vertices PerVertex vertices[3], out indices uint3 triangles[1], out primitives PerPrimitive primitive_data[1]) {
17    SetMeshOutputCounts(3, 1);
18    
19    vertices[0].pos = vertices[1].pos = vertices[2].pos = 0;
20    triangles[0] = uint3(0, 1, 2);
21    primitive_data[0].primitive_id = 0;
22    primitive_data[0].layer = 0;
23}