#include "libANGLE/renderer/vulkan/TransformFeedbackVk.h"
#include "libANGLE/Context.h"
#include "libANGLE/Query.h"
#include "libANGLE/renderer/vulkan/BufferVk.h"
#include "libANGLE/renderer/vulkan/ContextVk.h"
#include "libANGLE/renderer/vulkan/FramebufferVk.h"
#include "libANGLE/renderer/vulkan/ProgramVk.h"
#include "libANGLE/renderer/vulkan/QueryVk.h"
#include "libANGLE/renderer/vulkan/ShaderInterfaceVariableInfoMap.h"
#include "common/debug.h"
namespace rx
{
TransformFeedbackVk::TransformFeedbackVk(const gl::TransformFeedbackState &state)
: … { … }
TransformFeedbackVk::~TransformFeedbackVk() { … }
void TransformFeedbackVk::onDestroy(const gl::Context *context)
{ … }
void TransformFeedbackVk::releaseCounterBuffers(vk::Renderer *renderer)
{ … }
void TransformFeedbackVk::initializeXFBVariables(ContextVk *contextVk, uint32_t xfbBufferCount)
{ … }
angle::Result TransformFeedbackVk::begin(const gl::Context *context,
gl::PrimitiveMode primitiveMode)
{ … }
angle::Result TransformFeedbackVk::end(const gl::Context *context)
{ … }
angle::Result TransformFeedbackVk::pause(const gl::Context *context)
{ … }
angle::Result TransformFeedbackVk::resume(const gl::Context *context)
{ … }
angle::Result TransformFeedbackVk::bindIndexedBuffer(
const gl::Context *context,
size_t index,
const gl::OffsetBindingPointer<gl::Buffer> &binding)
{ … }
void TransformFeedbackVk::getBufferOffsets(ContextVk *contextVk,
GLint drawCallFirstVertex,
int32_t *offsetsOut,
size_t offsetsSize) const
{ … }
void TransformFeedbackVk::onSubjectStateChange(angle::SubjectIndex index,
angle::SubjectMessage message)
{ … }
void TransformFeedbackVk::updateTransformFeedbackDescriptorDesc(
const vk::Context *context,
const gl::ProgramExecutable &executable,
const ShaderInterfaceVariableInfoMap &variableInfoMap,
const vk::WriteDescriptorDescs &writeDescriptorDescs,
const vk::BufferHelper &emptyBuffer,
bool activeUnpaused,
vk::DescriptorSetDescBuilder *builder) const
{ … }
void TransformFeedbackVk::onNewDescriptorSet(const gl::ProgramExecutable &executable,
const vk::SharedDescriptorSetCacheKey &sharedCacheKey)
{ … }
}