Commit 4904a79b by Geoff Lang

Use the GL_COPY_READ_BUFFER binding for copy sources.

Using the ELEMENT_ARRAY binding can cause issues such as rebinding the current VAO's index buffer unexpectedly. BUG=angleproject:881 Change-Id: Ieeed52ac81c23a46bfe9fc4365239c2b177ff6ac Reviewed-on: https://chromium-review.googlesource.com/261563Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 61ce1a41
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
namespace rx namespace rx
{ {
static const GLenum SourceBufferOperationTarget = GL_ELEMENT_ARRAY_BUFFER; static const GLenum SourceBufferOperationTarget = GL_COPY_READ_BUFFER;
static const GLenum DestBufferOperationTarget = GL_ARRAY_BUFFER; static const GLenum DestBufferOperationTarget = GL_ARRAY_BUFFER;
BufferGL::BufferGL(const FunctionsGL *functions, StateManagerGL *stateManager) BufferGL::BufferGL(const FunctionsGL *functions, StateManagerGL *stateManager)
...@@ -61,7 +61,7 @@ gl::Error BufferGL::copySubData(BufferImpl* source, GLintptr sourceOffset, GLint ...@@ -61,7 +61,7 @@ gl::Error BufferGL::copySubData(BufferImpl* source, GLintptr sourceOffset, GLint
mStateManager->bindBuffer(DestBufferOperationTarget, mBufferID); mStateManager->bindBuffer(DestBufferOperationTarget, mBufferID);
mStateManager->bindBuffer(SourceBufferOperationTarget, sourceGL->getBufferID()); mStateManager->bindBuffer(SourceBufferOperationTarget, sourceGL->getBufferID());
mFunctions->copyBufferSubData(SourceBufferOperationTarget, GL_ARRAY_BUFFER, sourceOffset, destOffset, size); mFunctions->copyBufferSubData(SourceBufferOperationTarget, DestBufferOperationTarget, sourceOffset, destOffset, size);
return gl::Error(GL_NO_ERROR); return gl::Error(GL_NO_ERROR);
} }
......
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