summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/slang/slang-ir-glsl-legalize.cpp1
-rw-r--r--tests/spirv/sv_instance.slang3
2 files changed, 3 insertions, 1 deletions
diff --git a/source/slang/slang-ir-glsl-legalize.cpp b/source/slang/slang-ir-glsl-legalize.cpp
index eb101de86..ada34f220 100644
--- a/source/slang/slang-ir-glsl-legalize.cpp
+++ b/source/slang/slang-ir-glsl-legalize.cpp
@@ -627,6 +627,7 @@ GLSLSystemValueInfo* getGLSLSystemValueInfo(
name = "gl_InstanceIndex";
targetVarName = IRTargetBuiltinVarName::HlslInstanceID;
context->requireSPIRVVersion(SemanticVersion(1, 3));
+ context->requireGLSLVersion(ProfileVersion::GLSL_460);
context->requireGLSLExtension(toSlice("GL_ARB_shader_draw_parameters"));
}
else if (semanticName == "sv_isfrontface")
diff --git a/tests/spirv/sv_instance.slang b/tests/spirv/sv_instance.slang
index e71c6c7fa..34f63d3ed 100644
--- a/tests/spirv/sv_instance.slang
+++ b/tests/spirv/sv_instance.slang
@@ -1,5 +1,6 @@
//TEST:SIMPLE(filecheck=GLSL): -target glsl -entry vertMain -stage vertex
//TEST:SIMPLE(filecheck=CHECK): -target spirv
+//TEST:SIMPLE(filecheck=CHECK): -target spirv -emit-spirv-via-glsl
// CHECK-DAG: %[[REG1:[0-9a-zA-Z_]+]] = OpLoad %int %gl_BaseInstance
// CHECK-DAG: %[[REG2:[0-9a-zA-Z_]+]] = OpLoad %int %gl_InstanceIndex
@@ -11,4 +12,4 @@
float4 vertMain(int i : SV_InstanceID) : SV_Position
{
return i;
-} \ No newline at end of file
+}