#include "libANGLE/TransformFeedback.h"
#include "common/mathutil.h"
#include "libANGLE/Buffer.h"
#include "libANGLE/Caps.h"
#include "libANGLE/Context.h"
#include "libANGLE/Program.h"
#include "libANGLE/State.h"
#include "libANGLE/renderer/GLImplFactory.h"
#include "libANGLE/renderer/TransformFeedbackImpl.h"
#include <limits>
namespace gl
{
angle::CheckedNumeric<GLsizeiptr> GetVerticesNeededForDraw(PrimitiveMode primitiveMode,
GLsizei count,
GLsizei primcount)
{ … }
TransformFeedbackState::TransformFeedbackState(size_t maxIndexedBuffers)
: … { … }
TransformFeedbackState::~TransformFeedbackState() { … }
const OffsetBindingPointer<Buffer> &TransformFeedbackState::getIndexedBuffer(size_t idx) const
{ … }
const std::vector<OffsetBindingPointer<Buffer>> &TransformFeedbackState::getIndexedBuffers() const
{ … }
GLsizeiptr TransformFeedbackState::getPrimitivesDrawn() const
{ … }
TransformFeedback::TransformFeedback(rx::GLImplFactory *implFactory,
TransformFeedbackID id,
const Caps &caps)
: … { … }
void TransformFeedback::onDestroy(const Context *context)
{ … }
TransformFeedback::~TransformFeedback()
{ … }
angle::Result TransformFeedback::setLabel(const Context *context, const std::string &label)
{ … }
const std::string &TransformFeedback::getLabel() const
{ … }
angle::Result TransformFeedback::begin(const Context *context,
PrimitiveMode primitiveMode,
Program *program)
{ … }
angle::Result TransformFeedback::end(const Context *context)
{ … }
angle::Result TransformFeedback::pause(const Context *context)
{ … }
angle::Result TransformFeedback::resume(const Context *context)
{ … }
bool TransformFeedback::isPaused() const
{ … }
PrimitiveMode TransformFeedback::getPrimitiveMode() const
{ … }
bool TransformFeedback::checkBufferSpaceForDraw(GLsizei count, GLsizei primcount) const
{ … }
void TransformFeedback::onVerticesDrawn(const Context *context, GLsizei count, GLsizei primcount)
{ … }
void TransformFeedback::bindProgram(const Context *context, Program *program)
{ … }
bool TransformFeedback::hasBoundProgram(ShaderProgramID program) const
{ … }
angle::Result TransformFeedback::detachBuffer(const Context *context, BufferID bufferID)
{ … }
angle::Result TransformFeedback::bindIndexedBuffer(const Context *context,
size_t index,
Buffer *buffer,
size_t offset,
size_t size)
{ … }
const OffsetBindingPointer<Buffer> &TransformFeedback::getIndexedBuffer(size_t index) const
{ … }
size_t TransformFeedback::getIndexedBufferCount() const
{ … }
bool TransformFeedback::buffersBoundForOtherUseInWebGL() const
{ … }
rx::TransformFeedbackImpl *TransformFeedback::getImplementation() const
{ … }
void TransformFeedback::onBindingChanged(const Context *context, bool bound)
{ … }
const std::vector<OffsetBindingPointer<Buffer>> &TransformFeedback::getIndexedBuffers() const
{ … }
}