#include "libANGLE/renderer/vulkan/QueryVk.h"
#include "libANGLE/Context.h"
#include "libANGLE/TransformFeedback.h"
#include "libANGLE/renderer/vulkan/ContextVk.h"
#include "libANGLE/renderer/vulkan/TransformFeedbackVk.h"
#include "libANGLE/renderer/vulkan/vk_renderer.h"
#include "common/debug.h"
namespace rx
{
namespace
{
struct QueryReleaseHelper
{ … };
bool IsRenderPassQuery(ContextVk *contextVk, gl::QueryType type)
{ … }
bool IsEmulatedTransformFeedbackQuery(ContextVk *contextVk, gl::QueryType type)
{ … }
bool IsPrimitivesGeneratedQueryShared(ContextVk *contextVk)
{ … }
QueryVk *GetShareQuery(ContextVk *contextVk, gl::QueryType type)
{ … }
QueryVk *GetOnRenderPassStartEndShareQuery(ContextVk *contextVk, gl::QueryType type)
{ … }
}
QueryVk::QueryVk(gl::QueryType type)
: … { … }
QueryVk::~QueryVk() = default;
angle::Result QueryVk::allocateQuery(ContextVk *contextVk)
{ … }
void QueryVk::assignSharedQuery(QueryVk *shareQuery)
{ … }
void QueryVk::releaseQueries(ContextVk *contextVk)
{ … }
void QueryVk::releaseStashedQueries(ContextVk *contextVk)
{ … }
void QueryVk::onDestroy(const gl::Context *context)
{ … }
void QueryVk::stashQueryHelper()
{ … }
angle::Result QueryVk::onRenderPassStart(ContextVk *contextVk)
{ … }
void QueryVk::onRenderPassEnd(ContextVk *contextVk)
{ … }
angle::Result QueryVk::accumulateStashedQueryResult(ContextVk *contextVk, vk::QueryResult *result)
{ … }
angle::Result QueryVk::setupBegin(ContextVk *contextVk)
{ … }
angle::Result QueryVk::begin(const gl::Context *context)
{ … }
angle::Result QueryVk::end(const gl::Context *context)
{ … }
angle::Result QueryVk::queryCounter(const gl::Context *context)
{ … }
bool QueryVk::isCurrentlyInUse(vk::Renderer *renderer) const
{ … }
angle::Result QueryVk::finishRunningCommands(ContextVk *contextVk)
{ … }
angle::Result QueryVk::getResult(const gl::Context *context, bool wait)
{ … }
angle::Result QueryVk::getResult(const gl::Context *context, GLint *params)
{ … }
angle::Result QueryVk::getResult(const gl::Context *context, GLuint *params)
{ … }
angle::Result QueryVk::getResult(const gl::Context *context, GLint64 *params)
{ … }
angle::Result QueryVk::getResult(const gl::Context *context, GLuint64 *params)
{ … }
angle::Result QueryVk::isResultAvailable(const gl::Context *context, bool *available)
{ … }
void QueryVk::onTransformFeedbackEnd(GLsizeiptr primitivesDrawn)
{ … }
uint32_t QueryVk::getQueryResultCount(ContextVk *contextVk) const
{ … }
}