#include "libANGLE/renderer/gl/QueryGL.h"
#include "common/debug.h"
#include "libANGLE/Context.h"
#include "libANGLE/renderer/gl/ContextGL.h"
#include "libANGLE/renderer/gl/FunctionsGL.h"
#include "libANGLE/renderer/gl/StateManagerGL.h"
#include "libANGLE/renderer/gl/renderergl_utils.h"
namespace
{
GLuint64 MergeQueryResults(gl::QueryType type, GLuint64 currentResult, GLuint64 newResult)
{ … }
constexpr uint32_t kPauseResumeFlushThreshold = …;
}
namespace rx
{
QueryGL::QueryGL(gl::QueryType type) : … { … }
QueryGL::~QueryGL() { … }
StandardQueryGL::StandardQueryGL(gl::QueryType type,
const FunctionsGL *functions,
StateManagerGL *stateManager)
: … { … }
StandardQueryGL::~StandardQueryGL()
{ … }
void StandardQueryGL::clearInternalQueries()
{ … }
angle::Result StandardQueryGL::begin(const gl::Context *context)
{ … }
angle::Result StandardQueryGL::end(const gl::Context *context)
{ … }
angle::Result StandardQueryGL::queryCounter(const gl::Context *context)
{ … }
template <typename T>
angle::Result StandardQueryGL::getResultBase(const gl::Context *context, T *params)
{ … }
angle::Result StandardQueryGL::getResult(const gl::Context *context, GLint *params)
{ … }
angle::Result StandardQueryGL::getResult(const gl::Context *context, GLuint *params)
{ … }
angle::Result StandardQueryGL::getResult(const gl::Context *context, GLint64 *params)
{ … }
angle::Result StandardQueryGL::getResult(const gl::Context *context, GLuint64 *params)
{ … }
angle::Result StandardQueryGL::isResultAvailable(const gl::Context *context, bool *available)
{ … }
angle::Result StandardQueryGL::pause(const gl::Context *context)
{ … }
angle::Result StandardQueryGL::resume(const gl::Context *context)
{ … }
angle::Result StandardQueryGL::flush(const gl::Context *context, bool force)
{ … }
class SyncProviderGL
{ … };
class SyncProviderGLSync : public SyncProviderGL
{ … };
class SyncProviderGLQuery : public SyncProviderGL
{ … };
SyncQueryGL::SyncQueryGL(gl::QueryType type, const FunctionsGL *functions)
: … { … }
SyncQueryGL::~SyncQueryGL() { … }
bool SyncQueryGL::IsSupported(const FunctionsGL *functions)
{ … }
angle::Result SyncQueryGL::begin(const gl::Context *context)
{ … }
angle::Result SyncQueryGL::end(const gl::Context *context)
{ … }
angle::Result SyncQueryGL::queryCounter(const gl::Context *context)
{ … }
angle::Result SyncQueryGL::getResult(const gl::Context *context, GLint *params)
{ … }
angle::Result SyncQueryGL::getResult(const gl::Context *context, GLuint *params)
{ … }
angle::Result SyncQueryGL::getResult(const gl::Context *context, GLint64 *params)
{ … }
angle::Result SyncQueryGL::getResult(const gl::Context *context, GLuint64 *params)
{ … }
angle::Result SyncQueryGL::isResultAvailable(const gl::Context *context, bool *available)
{ … }
angle::Result SyncQueryGL::pause(const gl::Context *context)
{ … }
angle::Result SyncQueryGL::resume(const gl::Context *context)
{ … }
angle::Result SyncQueryGL::flush(const gl::Context *context, bool force)
{ … }
template <typename T>
angle::Result SyncQueryGL::getResultBase(const gl::Context *context, T *params)
{ … }
}