From 2a348c33090293f2e09bc1056efe39b334a37773 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 20 Feb 2020 11:21:36 +0000 Subject: [PATCH] Identify gl_BaseVertex/Instance and gl_DrawID as builtin parameters --- renderdoc/api/replay/renderdoc_tostr.inl | 3 +++ renderdoc/driver/gl/gl_shader_refl.cpp | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/renderdoc/api/replay/renderdoc_tostr.inl b/renderdoc/api/replay/renderdoc_tostr.inl index 3fed86289..e018b6f2f 100644 --- a/renderdoc/api/replay/renderdoc_tostr.inl +++ b/renderdoc/api/replay/renderdoc_tostr.inl @@ -620,6 +620,9 @@ rdcstr DoStringise(const ShaderBuiltin &el) STRINGISE_ENUM_CLASS_NAMED(DepthOutput, "Depth Output"); STRINGISE_ENUM_CLASS_NAMED(DepthOutputGreaterEqual, "Depth Output (GEqual)"); STRINGISE_ENUM_CLASS_NAMED(DepthOutputLessEqual, "Depth Output (LEqual)"); + STRINGISE_ENUM_CLASS_NAMED(BaseVertex, "Base Vertex"); + STRINGISE_ENUM_CLASS_NAMED(BaseInstance, "Base Instance"); + STRINGISE_ENUM_CLASS_NAMED(DrawIndex, "Draw Index"); STRINGISE_ENUM_CLASS_NAMED(StencilReference, "Stencil Ref Value"); STRINGISE_ENUM_CLASS_NAMED(PointCoord, "Point Co-ord"); STRINGISE_ENUM_CLASS_NAMED(IsHelper, "Is Helper"); diff --git a/renderdoc/driver/gl/gl_shader_refl.cpp b/renderdoc/driver/gl/gl_shader_refl.cpp index 8e4cf333a..44a69846e 100644 --- a/renderdoc/driver/gl/gl_shader_refl.cpp +++ b/renderdoc/driver/gl/gl_shader_refl.cpp @@ -2117,6 +2117,12 @@ void MakeShaderReflection(GLenum shadType, GLuint sepProg, ShaderReflection &ref sig.systemValue = ShaderBuiltin::VertexIndex; if(IS_BUILTIN("gl_InstanceID")) sig.systemValue = ShaderBuiltin::InstanceIndex; + if(IS_BUILTIN("gl_BaseVertex")) + sig.systemValue = ShaderBuiltin::BaseVertex; + if(IS_BUILTIN("gl_BaseInstance")) + sig.systemValue = ShaderBuiltin::BaseInstance; + if(IS_BUILTIN("gl_DrawID")) + sig.systemValue = ShaderBuiltin::DrawIndex; // VS built-in outputs if(IS_BUILTIN("gl_Position"))