diff options
Diffstat (limited to 'gfx/angle/checkout/src/libANGLE/renderer/QueryImpl.h')
-rw-r--r-- | gfx/angle/checkout/src/libANGLE/renderer/QueryImpl.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gfx/angle/checkout/src/libANGLE/renderer/QueryImpl.h b/gfx/angle/checkout/src/libANGLE/renderer/QueryImpl.h new file mode 100644 index 0000000000..8e5e351418 --- /dev/null +++ b/gfx/angle/checkout/src/libANGLE/renderer/QueryImpl.h @@ -0,0 +1,49 @@ +// +// Copyright 2013 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. +// + +// QueryImpl.h: Defines the abstract rx::QueryImpl class. + +#ifndef LIBANGLE_RENDERER_QUERYIMPL_H_ +#define LIBANGLE_RENDERER_QUERYIMPL_H_ + +#include "common/PackedEnums.h" +#include "common/angleutils.h" +#include "libANGLE/Error.h" + +namespace gl +{ +class Context; +} // namespace gl + +namespace rx +{ +class QueryImpl : angle::NonCopyable +{ + public: + explicit QueryImpl(gl::QueryType type) : mType(type) {} + virtual ~QueryImpl() {} + + virtual void onDestroy(const gl::Context *context); + + virtual angle::Result begin(const gl::Context *context) = 0; + virtual angle::Result end(const gl::Context *context) = 0; + virtual angle::Result queryCounter(const gl::Context *context) = 0; + virtual angle::Result getResult(const gl::Context *context, GLint *params) = 0; + virtual angle::Result getResult(const gl::Context *context, GLuint *params) = 0; + virtual angle::Result getResult(const gl::Context *context, GLint64 *params) = 0; + virtual angle::Result getResult(const gl::Context *context, GLuint64 *params) = 0; + virtual angle::Result isResultAvailable(const gl::Context *context, bool *available) = 0; + + virtual angle::Result onLabelUpdate(const gl::Context *context); + + gl::QueryType getType() const { return mType; } + + protected: + gl::QueryType mType; +}; +} // namespace rx + +#endif // LIBANGLE_RENDERER_QUERYIMPL_H_ |