diff options
Diffstat (limited to 'gfx/angle/checkout/src/libANGLE/renderer/TransformFeedbackImpl.h')
-rw-r--r-- | gfx/angle/checkout/src/libANGLE/renderer/TransformFeedbackImpl.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gfx/angle/checkout/src/libANGLE/renderer/TransformFeedbackImpl.h b/gfx/angle/checkout/src/libANGLE/renderer/TransformFeedbackImpl.h new file mode 100644 index 0000000000..75ef6fdbf8 --- /dev/null +++ b/gfx/angle/checkout/src/libANGLE/renderer/TransformFeedbackImpl.h @@ -0,0 +1,42 @@ +// +// Copyright 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +// TransformFeedbackImpl.h: Defines the abstract rx::TransformFeedbackImpl class. + +#ifndef LIBANGLE_RENDERER_TRANSFORMFEEDBACKIMPL_H_ +#define LIBANGLE_RENDERER_TRANSFORMFEEDBACKIMPL_H_ + +#include "common/angleutils.h" +#include "libANGLE/TransformFeedback.h" + +namespace rx +{ + +class TransformFeedbackImpl : angle::NonCopyable +{ + public: + TransformFeedbackImpl(const gl::TransformFeedbackState &state) : mState(state) {} + virtual ~TransformFeedbackImpl() {} + virtual void onDestroy(const gl::Context *context) {} + + virtual angle::Result begin(const gl::Context *context, gl::PrimitiveMode primitiveMode) = 0; + virtual angle::Result end(const gl::Context *context) = 0; + virtual angle::Result pause(const gl::Context *context) = 0; + virtual angle::Result resume(const gl::Context *context) = 0; + + virtual angle::Result bindIndexedBuffer( + const gl::Context *context, + size_t index, + const gl::OffsetBindingPointer<gl::Buffer> &binding) = 0; + + virtual angle::Result onLabelUpdate(const gl::Context *context); + + protected: + const gl::TransformFeedbackState &mState; +}; +} // namespace rx + +#endif // LIBANGLE_RENDERER_TRANSFORMFEEDBACKIMPL_H_ |