diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/glsl.meta.slang | 1 | ||||
| -rw-r--r-- | source/slang/slang-ir-glsl-legalize.cpp | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/source/slang/glsl.meta.slang b/source/slang/glsl.meta.slang index f63daf6b0..c78aa2a15 100644 --- a/source/slang/glsl.meta.slang +++ b/source/slang/glsl.meta.slang @@ -215,6 +215,7 @@ public in int gl_ViewIndex : SV_ViewID; public in int gl_ViewportIndex : SV_ViewportArrayIndex; public in int gl_BaseVertex : SV_StartVertexLocation; public in int gl_BaseInstance : SV_StartInstanceLocation; +public in int gl_DrawID : SV_DrawIndex; public in int gl_FragInvocationCountEXT : SV_FragInvocationCount; public in int2 gl_FragSizeEXT : SV_FragSize; diff --git a/source/slang/slang-ir-glsl-legalize.cpp b/source/slang/slang-ir-glsl-legalize.cpp index bc26b223b..1511bbff2 100644 --- a/source/slang/slang-ir-glsl-legalize.cpp +++ b/source/slang/slang-ir-glsl-legalize.cpp @@ -678,6 +678,9 @@ GLSLSystemValueInfo* getGLSLSystemValueInfo( } else if (semanticName == "sv_drawindex") { + context->requireGLSLVersion(ProfileVersion::GLSL_460); + context->requireGLSLExtension(toSlice("GL_ARB_shader_draw_parameters")); + name = "gl_DrawID"; requiredType = builder->getBasicType(BaseType::Int); } |
