diff options
Diffstat (limited to 'src/mbgl/gl/segment.hpp')
-rw-r--r-- | src/mbgl/gl/segment.hpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/mbgl/gl/segment.hpp b/src/mbgl/gl/segment.hpp index bb9f2f1ee8..7ce90e53a6 100644 --- a/src/mbgl/gl/segment.hpp +++ b/src/mbgl/gl/segment.hpp @@ -37,12 +37,17 @@ public: context.vertexBuffer.setDirty(); } - context.vertexArrayObject = *vao; - - if (indexBuffer != indexBuffer_) { - indexBuffer = indexBuffer_; - context.elementBuffer.setDirty(); + if (*vao) { + context.vertexArrayObject = *vao; + if (indexBuffer != indexBuffer_) { + indexBuffer = indexBuffer_; + context.elementBuffer.setDirty(); + context.elementBuffer = indexBuffer_; + } + } else { + // No VAO support. Force attributes to be rebound. context.elementBuffer = indexBuffer_; + variableBindings = {}; } Attributes::bind(context, |