From abbc00adbf264024f676dd742a06d6190774178d Mon Sep 17 00:00:00 2001 From: baldurk Date: Sun, 14 Dec 2014 11:54:00 +0000 Subject: [PATCH] Work around glVertexArrayVertexAttribDivisorEXT not being present --- renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp index 3cb5e79fa..2f3ee64c1 100644 --- a/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp @@ -2541,7 +2541,19 @@ bool WrappedOpenGL::Serialise_glVertexArrayVertexAttribDivisorEXT(GLuint vaobj, { vaobj = (id != ResourceId()) ? GetResourceManager()->GetLiveResource(id).name : m_FakeVAO; - m_Real.glVertexArrayVertexAttribDivisorEXT(vaobj, Index, Divisor); + // at the time of writing, AMD driver seems to not have this entry point + if(m_Real.glVertexArrayVertexAttribDivisorEXT) + { + m_Real.glVertexArrayVertexAttribDivisorEXT(vaobj, Index, Divisor); + } + else + { + GLuint VAO = 0; + m_Real.glGetIntegerv(eGL_VERTEX_ARRAY_BINDING, (GLint *)&VAO); + m_Real.glBindVertexArray(vaobj); + m_Real.glVertexAttribDivisor(Index, Divisor); + m_Real.glBindVertexArray(VAO); + } } return true;