summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libGLESv2/Buffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/Buffer.cpp')
-rw-r--r--src/3rdparty/angle/src/libGLESv2/Buffer.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/Buffer.cpp b/src/3rdparty/angle/src/libGLESv2/Buffer.cpp
index 8d5b4ef2a1..c007d5d9e9 100644
--- a/src/3rdparty/angle/src/libGLESv2/Buffer.cpp
+++ b/src/3rdparty/angle/src/libGLESv2/Buffer.cpp
@@ -40,6 +40,7 @@ Buffer::~Buffer()
void Buffer::bufferData(const void *data, GLsizeiptr size, GLenum usage)
{
mBufferStorage->clear();
+ mIndexRangeCache.clear();
mBufferStorage->setData(data, size, 0);
mUsage = usage;
@@ -56,6 +57,7 @@ void Buffer::bufferData(const void *data, GLsizeiptr size, GLenum usage)
void Buffer::bufferSubData(const void *data, GLsizeiptr size, GLintptr offset)
{
mBufferStorage->setData(data, size, offset);
+ mIndexRangeCache.invalidateRange(offset, size);
if ((mStaticVertexBuffer && mStaticVertexBuffer->getBufferSize() != 0) || (mStaticIndexBuffer && mStaticIndexBuffer->getBufferSize() != 0))
{
@@ -70,7 +72,7 @@ rx::BufferStorage *Buffer::getStorage() const
return mBufferStorage;
}
-unsigned int Buffer::size()
+unsigned int Buffer::size() const
{
return mBufferStorage->getSize();
}
@@ -116,4 +118,9 @@ void Buffer::promoteStaticUsage(int dataSize)
}
}
+rx::IndexRangeCache *Buffer::getIndexRangeCache()
+{
+ return &mIndexRangeCache;
+}
+
}