summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/spirv/geometry-decoration-ordering.slang17
-rw-r--r--tests/spirv/rcp-w-fragment.slang7
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/spirv/geometry-decoration-ordering.slang b/tests/spirv/geometry-decoration-ordering.slang
new file mode 100644
index 000000000..be6eee878
--- /dev/null
+++ b/tests/spirv/geometry-decoration-ordering.slang
@@ -0,0 +1,17 @@
+//TEST:SIMPLE(filecheck=CHECK):-target spirv -emit-spirv-directly -entry main -stage geometry
+
+// Make sure InputPoints always appears before OutputVertices and OutputTriangleStrip,
+// otherwise, the shader won't work correctly.
+
+// CHECK: OpExecutionMode {{.*}} InputPoints
+// CHECK: OpExecutionMode {{.*}} OutputVertices 4
+// CHECK: OpExecutionMode {{.*}} OutputTriangleStrip
+
+[maxvertexcount(4)]
+void main( point float4 input[1], inout TriangleStream<float4> OutputStream )
+{
+ OutputStream.Append(float4(0));
+ OutputStream.Append(float4(1));
+ OutputStream.Append(float4(2));
+ OutputStream.Append(float4(3));
+} \ No newline at end of file
diff --git a/tests/spirv/rcp-w-fragment.slang b/tests/spirv/rcp-w-fragment.slang
new file mode 100644
index 000000000..1cd1b8ee8
--- /dev/null
+++ b/tests/spirv/rcp-w-fragment.slang
@@ -0,0 +1,7 @@
+//TEST:SIMPLE(filecheck=CHECK): -target spirv -entry main -stage fragment -fvk-use-dx-position-w -emit-spirv-directly
+
+// CHECK: OpFDiv
+float4 main(float4 pos : SV_Position) : SV_Target
+{
+ return pos;
+} \ No newline at end of file