diff options
Diffstat (limited to 'tests/cross-compile/geometry-shader.slang')
| -rw-r--r-- | tests/cross-compile/geometry-shader.slang | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/cross-compile/geometry-shader.slang b/tests/cross-compile/geometry-shader.slang new file mode 100644 index 000000000..614d71db9 --- /dev/null +++ b/tests/cross-compile/geometry-shader.slang @@ -0,0 +1,33 @@ +// geometry-shader.slang + +//TEST:CROSS_COMPILE: -profile sm_5_0 -stage geometry -entry main -target spirv-assembly + +struct CoarseVertex +{ + float4 position : POSITION; + float3 color : COLOR; + uint id : ID; +} + +struct RasterVertex +{ + float4 position : POSITION; + float3 color : COLOR; + uint id : SV_RenderTargetArrayIndex; +} + +[maxvertexcount(3)] +void main( + triangle CoarseVertex coarseVertices[3], + inout TriangleStream<RasterVertex> outputStream) +{ + for(int ii = 0; ii < 3; ++ii) + { + CoarseVertex coarseVertex = coarseVertices[ii]; + RasterVertex rasterVertex; + rasterVertex.position = coarseVertex.position; + rasterVertex.color = coarseVertex.color; + rasterVertex.id = coarseVertex.id; + outputStream.Append(rasterVertex); + } +} |
