summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-09-20 03:30:27 -0700
committerGitHub <noreply@github.com>2023-09-20 18:30:27 +0800
commit73292d9f3a1c790f72802dfe4cce57a1353dece6 (patch)
treeb35764fca8962c808b64c2ceed8601e7f4fa1011 /tests
parent739c3a7b53dc6489065fcd5e9f0a04370c5f9c8f (diff)
Direct SPIRV: Rasterization pipeline tests. (#3216)
* Direct SPIRV: Rasterization pipeline tests. * Fixup. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/pipeline/rasterization/conservative-rasterization/inner-coverage.slang8
-rw-r--r--tests/pipeline/rasterization/conservative-rasterization/inner-coverage.slang.glsl14
-rw-r--r--tests/pipeline/rasterization/fragment-shader-interlock.slang12
-rw-r--r--tests/pipeline/rasterization/get-attribute-at-vertex.slang9
4 files changed, 27 insertions, 16 deletions
diff --git a/tests/pipeline/rasterization/conservative-rasterization/inner-coverage.slang b/tests/pipeline/rasterization/conservative-rasterization/inner-coverage.slang
index fe77095df..bfa7eb633 100644
--- a/tests/pipeline/rasterization/conservative-rasterization/inner-coverage.slang
+++ b/tests/pipeline/rasterization/conservative-rasterization/inner-coverage.slang
@@ -1,6 +1,12 @@
// inner-coverage.slang
-//TEST:CROSS_COMPILE:-target spirv -entry main -stage fragment
+//TEST:SIMPLE(filecheck=CHECK):-target spirv -entry main -stage fragment
+//TEST:SIMPLE(filecheck=CHECK):-emit-spirv-directly -target spirv -entry main -stage fragment
+
+// CHECK: OpCapability FragmentFullyCoveredEXT
+// CHECK: OpExtension "SPV_EXT_fragment_fully_covered"
+// CHECK: OpEntryPoint Fragment %main "main"
+// CHECK: OpDecorate %{{.*}} BuiltIn FullyCoveredEXT
[shader("fragment")]
void main(
diff --git a/tests/pipeline/rasterization/conservative-rasterization/inner-coverage.slang.glsl b/tests/pipeline/rasterization/conservative-rasterization/inner-coverage.slang.glsl
deleted file mode 100644
index 59fecd544..000000000
--- a/tests/pipeline/rasterization/conservative-rasterization/inner-coverage.slang.glsl
+++ /dev/null
@@ -1,14 +0,0 @@
-//TEST_IGNORE_FILE:
-#version 450
-#extension GL_NV_conservative_raster_underestimation : require
-layout(row_major) uniform;
-layout(row_major) buffer;
-
-layout(location = 0)
-out vec4 _S1;
-
-void main()
-{
- _S1 = vec4(uint(gl_FragFullyCoveredNV));
- return;
-}
diff --git a/tests/pipeline/rasterization/fragment-shader-interlock.slang b/tests/pipeline/rasterization/fragment-shader-interlock.slang
index 7215629a2..0e438c456 100644
--- a/tests/pipeline/rasterization/fragment-shader-interlock.slang
+++ b/tests/pipeline/rasterization/fragment-shader-interlock.slang
@@ -3,7 +3,17 @@
// Test that explicit use of fragment-shader interlock (FSI)
// operations is supported by Slang
-//TEST:CROSS_COMPILE:-target spirv -entry main -stage fragment
+//TEST:SIMPLE(filecheck=CHECK):-target spirv -entry main -stage fragment
+//TEST:SIMPLE(filecheck=CHECK):-emit-spirv-directly -target spirv -entry main -stage fragment
+
+
+// CHECK: OpCapability FragmentShaderPixelInterlockEXT
+// CHECK: OpExtension "SPV_EXT_fragment_shader_interlock"
+// CHECK: OpEntryPoint Fragment %main "main"
+
+// CHECK-DAG: OpExecutionMode %main OriginUpperLeft
+
+// CHECK-DAG: OpExecutionMode %main PixelInterlockOrderedEXT
[shader("fragment")]
void main(
diff --git a/tests/pipeline/rasterization/get-attribute-at-vertex.slang b/tests/pipeline/rasterization/get-attribute-at-vertex.slang
index 87d39c806..a88cf8d24 100644
--- a/tests/pipeline/rasterization/get-attribute-at-vertex.slang
+++ b/tests/pipeline/rasterization/get-attribute-at-vertex.slang
@@ -4,6 +4,15 @@
//TEST:CROSS_COMPILE:-target dxil -entry main -stage fragment -profile sm_6_1
//TEST:CROSS_COMPILE:-target spirv -entry main -stage fragment -profile glsl_450
+//TEST:SIMPLE(filecheck=CHECK):-emit-spirv-directly -target spirv -entry main -stage fragment -profile glsl_450
+
+// CHECK: OpCapability FragmentBarycentricKHR
+// CHECK: OpExtension "SPV_KHR_fragment_shader_barycentric"
+
+// CHECK: OpEntryPoint Fragment %main "main"
+// CHECK: %{{.*}} = OpAccessChain %_ptr_Input_{{.*}} %{{.*}} %uint_0
+// CHECK: %{{.*}} = OpAccessChain %_ptr_Input_{{.*}} %{{.*}} %uint_1
+// CHECK: %{{.*}} = OpAccessChain %_ptr_Input_{{.*}} %{{.*}} %uint_2
[shader("fragment")]
void main(