From 12a59c9b7462b004cfa9ae199447ee72b15d1b31 Mon Sep 17 00:00:00 2001 From: Bill Robinson Date: Mon, 15 Dec 2014 22:30:38 +0000 Subject: [PATCH] Fix for a bug in my graphics driver(?) whereb glVertexArrayVertexAttribDivisorEXT was not defined. Not sure about the bindingindex parameter, re-used location, maybe that's bad. --- src/Magnum/Mesh.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Magnum/Mesh.cpp b/src/Magnum/Mesh.cpp index fd5756dab..6f5e9c041 100644 --- a/src/Magnum/Mesh.cpp +++ b/src/Magnum/Mesh.cpp @@ -406,7 +406,15 @@ void Mesh::attributePointerImplementationDSAEXT(const GenericAttribute& attribut _created = true; glEnableVertexArrayAttribEXT(_id, attribute.location); glVertexArrayVertexAttribOffsetEXT(_id, attribute.buffer->id(), attribute.location, attribute.size, attribute.type, attribute.normalized, attribute.stride, attribute.offset); - if(attribute.divisor) glVertexArrayVertexAttribDivisorEXT(_id, attribute.location, attribute.divisor); + if(attribute.divisor) { + if (glVertexArrayVertexAttribDivisorEXT) { + glVertexArrayVertexAttribDivisorEXT(_id, attribute.location, attribute.divisor); + } + else { + glVertexArrayVertexAttribBindingEXT(_id, attribute.location, attribute.location); + glVertexArrayVertexBindingDivisorEXT(_id, attribute.location, attribute.divisor); + } + } } #endif