diff options
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/TransformFeedback.cpp')
-rw-r--r-- | src/3rdparty/angle/src/libGLESv2/TransformFeedback.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/TransformFeedback.cpp b/src/3rdparty/angle/src/libGLESv2/TransformFeedback.cpp index 79ce08405d..bfa7072326 100644 --- a/src/3rdparty/angle/src/libGLESv2/TransformFeedback.cpp +++ b/src/3rdparty/angle/src/libGLESv2/TransformFeedback.cpp @@ -5,20 +5,24 @@ // #include "libGLESv2/TransformFeedback.h" +#include "libGLESv2/renderer/TransformFeedbackImpl.h" namespace gl { -TransformFeedback::TransformFeedback(GLuint id) +TransformFeedback::TransformFeedback(rx::TransformFeedbackImpl* impl, GLuint id) : RefCountObject(id), + mTransformFeedback(impl), mStarted(GL_FALSE), mPrimitiveMode(GL_NONE), mPaused(GL_FALSE) { + ASSERT(impl != NULL); } TransformFeedback::~TransformFeedback() { + SafeDelete(mTransformFeedback); } void TransformFeedback::start(GLenum primitiveMode) @@ -26,6 +30,7 @@ void TransformFeedback::start(GLenum primitiveMode) mStarted = GL_TRUE; mPrimitiveMode = primitiveMode; mPaused = GL_FALSE; + mTransformFeedback->begin(primitiveMode); } void TransformFeedback::stop() @@ -33,6 +38,7 @@ void TransformFeedback::stop() mStarted = GL_FALSE; mPrimitiveMode = GL_NONE; mPaused = GL_FALSE; + mTransformFeedback->end(); } GLboolean TransformFeedback::isStarted() const @@ -48,11 +54,13 @@ GLenum TransformFeedback::getDrawMode() const void TransformFeedback::pause() { mPaused = GL_TRUE; + mTransformFeedback->pause(); } void TransformFeedback::resume() { mPaused = GL_FALSE; + mTransformFeedback->resume(); } GLboolean TransformFeedback::isPaused() const |