Added a copyBufferSubData method to Buffer.
TRAC #22811
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2133 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Buffer.cpp b/src/libGLESv2/Buffer.cpp
index 8d5b4ef..0480d30 100644
--- a/src/libGLESv2/Buffer.cpp
+++ b/src/libGLESv2/Buffer.cpp
@@ -65,6 +65,18 @@
mUnmodifiedDataUse = 0;
}
+void Buffer::copyBufferSubData(Buffer* source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size)
+{
+ mBufferStorage->copyData(source->mBufferStorage, size, sourceOffset, destOffset);
+
+ if ((mStaticVertexBuffer && mStaticVertexBuffer->getBufferSize() != 0) || (mStaticIndexBuffer && mStaticIndexBuffer->getBufferSize() != 0))
+ {
+ invalidateStaticData();
+ }
+
+ mUnmodifiedDataUse = 0;
+}
+
rx::BufferStorage *Buffer::getStorage() const
{
return mBufferStorage;