diff options
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/Buffer.h')
-rw-r--r-- | src/3rdparty/angle/src/libGLESv2/Buffer.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/Buffer.h b/src/3rdparty/angle/src/libGLESv2/Buffer.h index 389c3d4b00..35a6767502 100644 --- a/src/3rdparty/angle/src/libGLESv2/Buffer.h +++ b/src/3rdparty/angle/src/libGLESv2/Buffer.h @@ -11,8 +11,11 @@ #ifndef LIBGLESV2_BUFFER_H_ #define LIBGLESV2_BUFFER_H_ +#include "libGLESv2/Error.h" + #include "common/angleutils.h" #include "common/RefCountObject.h" +#include "libGLESv2/renderer/IndexRangeCache.h" namespace rx { @@ -30,13 +33,13 @@ class Buffer : public RefCountObject virtual ~Buffer(); - void bufferData(const void *data, GLsizeiptr size, GLenum usage); - void bufferSubData(const void *data, GLsizeiptr size, GLintptr offset); - void copyBufferSubData(Buffer* source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size); - GLvoid *mapRange(GLintptr offset, GLsizeiptr length, GLbitfield access); - void unmap(); + Error bufferData(const void *data, GLsizeiptr size, GLenum usage); + Error bufferSubData(const void *data, GLsizeiptr size, GLintptr offset); + Error copyBufferSubData(Buffer* source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size); + Error mapRange(GLintptr offset, GLsizeiptr length, GLbitfield access); + Error unmap(); - GLenum getUsage() const { return mUsage; } + GLenum getUsage() const { return mUsage; } GLint getAccessFlags() const { return mAccessFlags; } GLboolean isMapped() const { return mMapped; } GLvoid *getMapPointer() const { return mMapPointer; } @@ -48,18 +51,23 @@ class Buffer : public RefCountObject void markTransformFeedbackUsage(); + rx::IndexRangeCache *getIndexRangeCache() { return &mIndexRangeCache; } + const rx::IndexRangeCache *getIndexRangeCache() const { return &mIndexRangeCache; } + private: DISALLOW_COPY_AND_ASSIGN(Buffer); rx::BufferImpl *mBuffer; GLenum mUsage; - GLsizeiptr mSize; + GLint64 mSize; GLint mAccessFlags; GLboolean mMapped; GLvoid *mMapPointer; GLint64 mMapOffset; GLint64 mMapLength; + + rx::IndexRangeCache mIndexRangeCache; }; } |