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/TransformFeedback.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/TransformFeedback.h')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/TransformFeedback.h | 44 |
1 files changed, 33 insertions, 11 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/TransformFeedback.h b/src/3rdparty/angle/src/libANGLE/TransformFeedback.h index 7673db93ff..098e4ea4d6 100644 --- a/src/3rdparty/angle/src/libANGLE/TransformFeedback.h +++ b/src/3rdparty/angle/src/libANGLE/TransformFeedback.h @@ -10,6 +10,7 @@ #include "libANGLE/RefCountObject.h" #include "common/angleutils.h" +#include "libANGLE/Debug.h" #include "angle_gl.h" @@ -20,29 +21,50 @@ class TransformFeedbackImpl; namespace gl { +class Buffer; +struct Caps; -class TransformFeedback : public RefCountObject +class TransformFeedback final : public RefCountObject, public LabeledObject { public: - TransformFeedback(rx::TransformFeedbackImpl* impl, GLuint id); + TransformFeedback(rx::TransformFeedbackImpl* impl, GLuint id, const Caps &caps); virtual ~TransformFeedback(); - void start(GLenum primitiveMode); - void stop(); - GLboolean isStarted() const; - - GLenum getDrawMode() const; + void setLabel(const std::string &label) override; + const std::string &getLabel() const override; + void begin(GLenum primitiveMode); + void end(); void pause(); void resume(); - GLboolean isPaused() const; + + bool isActive() const; + bool isPaused() const; + GLenum getPrimitiveMode() const; + + void bindGenericBuffer(Buffer *buffer); + const BindingPointer<Buffer> &getGenericBuffer() const; + + void bindIndexedBuffer(size_t index, Buffer *buffer, size_t offset, size_t size); + const OffsetBindingPointer<Buffer> &getIndexedBuffer(size_t index) const; + size_t getIndexedBufferCount() const; + + void detachBuffer(GLuint bufferName); + + rx::TransformFeedbackImpl *getImplementation(); + const rx::TransformFeedbackImpl *getImplementation() const; private: - rx::TransformFeedbackImpl* mTransformFeedback; + rx::TransformFeedbackImpl* mImplementation; - GLboolean mStarted; + std::string mLabel; + + bool mActive; GLenum mPrimitiveMode; - GLboolean mPaused; + bool mPaused; + + BindingPointer<Buffer> mGenericBuffer; + std::vector<OffsetBindingPointer<Buffer>> mIndexedBuffers; }; } |