Commit 1057aaef by Jonah Ryan-Davis Committed by Commit Bot

Update GL state tracking on VertexArrayGL::streamAttributes

When emulating streamed attributes, the internal state is not being correctly updated in the GL backend. This fixes this issue for the particular edge-case. Bug: angleproject:3933 Change-Id: I4b785d76ccfc475d80e431977e4d482c7f2d1389 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1817103Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
parent b540da89
......@@ -368,6 +368,16 @@ angle::Result VertexArrayGL::streamAttributes(const gl::Context *context,
static_cast<GLsizei>(destStride),
static_cast<GLintptr>(vertexStartOffset));
// Update the state to track the streamed attribute
mAppliedAttributes[idx].format = attrib.format;
mAppliedAttributes[idx].relativeOffset = 0;
mAppliedAttributes[idx].bindingIndex = static_cast<GLuint>(idx);
mAppliedBindings[idx].setStride(static_cast<GLsizei>(destStride));
mAppliedBindings[idx].setOffset(static_cast<GLintptr>(vertexStartOffset));
mAppliedBindings[idx].setBuffer(context, nullptr);
curBufferOffset += destStride * streamedVertexCount;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment