yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
6f8a20688
master
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}