diff options
author | Oliver Wolff <oliver.wolff@theqtcompany.com> | 2016-03-24 12:38:18 +0100 |
---|---|---|
committer | Oliver Wolff <oliver.wolff@qt.io> | 2016-04-25 05:57:38 +0000 |
commit | e12ba07322cd61c5cf50c25ed8d1f08f6b1ff879 (patch) | |
tree | d31a44c9f123ed764a00eff7b4fff656a07d54ab /src/3rdparty/angle/src/libANGLE/Buffer.h | |
parent | d3dcc6f610b97be7cbfbb0a65988e5940568c825 (diff) |
Update ANGLE to chromium/2651
Change-Id: I1cd32b780b1a0b913fab870e155ae1f4f9ac40d7
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Buffer.h')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/Buffer.h | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Buffer.h b/src/3rdparty/angle/src/libANGLE/Buffer.h index 6793028e3b..6c951ef586 100644 --- a/src/3rdparty/angle/src/libANGLE/Buffer.h +++ b/src/3rdparty/angle/src/libANGLE/Buffer.h @@ -11,11 +11,11 @@ #ifndef LIBANGLE_BUFFER_H_ #define LIBANGLE_BUFFER_H_ +#include "common/angleutils.h" +#include "libANGLE/Debug.h" #include "libANGLE/Error.h" +#include "libANGLE/IndexRangeCache.h" #include "libANGLE/RefCountObject.h" -#include "libANGLE/renderer/IndexRangeCache.h" - -#include "common/angleutils.h" namespace rx { @@ -25,21 +25,34 @@ class BufferImpl; namespace gl { -class Buffer : public RefCountObject +class Buffer final : public RefCountObject, public LabeledObject { public: Buffer(rx::BufferImpl *impl, GLuint id); - virtual ~Buffer(); + void setLabel(const std::string &label) override; + const std::string &getLabel() const override; + 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 map(GLenum access); Error mapRange(GLintptr offset, GLsizeiptr length, GLbitfield access); - Error unmap(); + Error unmap(GLboolean *result); + + void onTransformFeedback(); + void onPixelUnpack(); + + Error getIndexRange(GLenum type, + size_t offset, + size_t count, + bool primitiveRestartEnabled, + IndexRange *outRange) const; GLenum getUsage() const { return mUsage; } - GLint getAccessFlags() const { return mAccessFlags; } + GLbitfield getAccessFlags() const { return mAccessFlags; } + GLenum getAccess() const { return mAccess; } GLboolean isMapped() const { return mMapped; } GLvoid *getMapPointer() const { return mMapPointer; } GLint64 getMapOffset() const { return mMapOffset; } @@ -48,21 +61,21 @@ class Buffer : public RefCountObject rx::BufferImpl *getImplementation() const { return mBuffer; } - rx::IndexRangeCache *getIndexRangeCache() { return &mIndexRangeCache; } - const rx::IndexRangeCache *getIndexRangeCache() const { return &mIndexRangeCache; } - private: rx::BufferImpl *mBuffer; + std::string mLabel; + GLenum mUsage; GLint64 mSize; - GLint mAccessFlags; + GLbitfield mAccessFlags; + GLenum mAccess; GLboolean mMapped; GLvoid *mMapPointer; GLint64 mMapOffset; GLint64 mMapLength; - rx::IndexRangeCache mIndexRangeCache; + mutable IndexRangeCache mIndexRangeCache; }; } |