chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.cpp

//
// Copyright 2016 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.
//
// QueryVk.cpp:
//    Implements the class methods for QueryVk.
//

#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)
{}

// When a render pass starts/ends, onRenderPassStart/End  is called for all active queries.  For
// shared queries, the one that is called first would actually manage the query helper begin/end and
// allocation, and the one that follows would share it.  PrimitivesGenerated and
// TransformFeedbackPrimitivesWritten share queries, and the former is processed first.
QueryVk *GetOnRenderPassStartEndShareQuery(ContextVk *contextVk, gl::QueryType type)
{}
}  // anonymous namespace

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
{}
}  // namespace rx