summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/hlsl-intrinsic/system-values-draw-parameters.slang17
1 files changed, 15 insertions, 2 deletions
diff --git a/tests/hlsl-intrinsic/system-values-draw-parameters.slang b/tests/hlsl-intrinsic/system-values-draw-parameters.slang
index ea84ac116..e45366939 100644
--- a/tests/hlsl-intrinsic/system-values-draw-parameters.slang
+++ b/tests/hlsl-intrinsic/system-values-draw-parameters.slang
@@ -3,6 +3,8 @@
//TEST:SIMPLE(filecheck=CHECK_HLSL): -entry main -stage vertex -target hlsl
//TEST:SIMPLE(filecheck=CHECK_METAL): -entry main -stage vertex -target metal
+StructuredBuffer<float> scales;
+
struct VSInput
{
uint vertexID : SV_VertexID;
@@ -16,19 +18,30 @@ struct VSOutput
VSOutput main(VSInput input,
uint startVertexLocation : SV_StartVertexLocation,
- uint startInstanceLocation : SV_StartInstanceLocation)
+ uint startInstanceLocation : SV_StartInstanceLocation,
+ uint viewIndex : SV_ViewID)
{
VSOutput output;
float x = (float)(input.vertexID + startVertexLocation) * 0.1f;
float y = (float)(input.instanceID + startInstanceLocation) * 0.2f;
- output.position = float4(x, y, 0.0f, 1.0f);
+ output.position = float4(x, y, 0.0f, 1.0f) * scales[viewIndex];
+
+ // CHECK_SPIRV: BuiltIn BaseVertex
+ // CHECK_GLSL: gl_BaseVertex
+ // CHECK_HLSL: SV_StartVertexLocation
+ // CHECK_METAL: base_vertex
// CHECK_SPIRV: BuiltIn BaseInstance
// CHECK_GLSL: gl_BaseInstance
// CHECK_HLSL: SV_StartInstanceLocation
// CHECK_METAL: base_instance
+ // CHECK_SPIRV: BuiltIn ViewIndex
+ // CHECK_GLSL: gl_ViewIndex
+ // CHECK_HLSL: SV_ViewID
+ // CHECK_METAL: amplification_id
+
return output;
}