summaryrefslogtreecommitdiffstats
path: root/tests/spirv
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-12-04 21:19:25 -0800
committerGitHub <noreply@github.com>2024-12-05 13:19:25 +0800
commitbd50f9947905feb5199c7cfe29c640084f882199 (patch)
tree17f259ccbfc320d139f63f5bcbdb28b4134dd2f5 /tests/spirv
parent46aee66664732b85f50e377687182715b3ec89e7 (diff)
Make fvk-invert-y work on mesh shader ouptuts. (#5760)
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
Diffstat (limited to 'tests/spirv')
-rw-r--r--tests/spirv/mesh-shader-invert-y.slang24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/spirv/mesh-shader-invert-y.slang b/tests/spirv/mesh-shader-invert-y.slang
new file mode 100644
index 000000000..e385167ae
--- /dev/null
+++ b/tests/spirv/mesh-shader-invert-y.slang
@@ -0,0 +1,24 @@
+//TEST:SIMPLE(filecheck=CHECK): -target spirv -fvk-invert-y
+
+// CHECK: %[[CONST:[0-9]+]] = OpConstantComposite %v4float %float_0 %float_n1 %float_0 %float_0
+// CHECK: OpStore {{.*}} %[[CONST]]
+
+struct PS_IN
+{
+ float4 vPositionPs : SV_Position;
+};
+
+[ shader("mesh") ]
+[ outputtopology( "line" ) ]
+[ numthreads( 64, 1, 1 ) ]
+void main(
+ uint nThreadId : SV_DispatchThreadID,
+ uint nGroupThreadId : SV_GroupThreadID,
+ uint nGroupId : SV_GroupID,
+ out vertices PS_IN outputVerts[ 128 ],
+ out indices uint2 outputIB[ 64 ] )
+{
+ SetMeshOutputCounts( 128, 64 );
+
+ outputVerts[ 2 * nGroupThreadId ].vPositionPs = float4( 0, 1, 0, 0 );
+}