6#include "gtest/gtest.h"
16TEST(GPUTracerGLES, CanFormatFramebufferErrorMessage) {
17 auto const extensions = std::vector<const char*>{
19 "GL_EXT_disjoint_timer_query",
21 auto mock_gles_impl = std::make_unique<MockGLESImpl>();
24 ::testing::InSequence seq;
25 auto gen_queries = [](GLsizei n, GLuint* ids) {
26 for (
int i = 0;
i < n; ++
i) {
30 EXPECT_CALL(*mock_gles_impl, GenQueriesEXT(_, _)).WillOnce(gen_queries);
31 EXPECT_CALL(*mock_gles_impl, BeginQueryEXT(GL_TIME_ELAPSED_EXT, _));
32 EXPECT_CALL(*mock_gles_impl, EndQueryEXT(GL_TIME_ELAPSED_EXT));
33 EXPECT_CALL(*mock_gles_impl,
34 GetQueryObjectuivEXT(_, GL_QUERY_RESULT_AVAILABLE_EXT, _))
35 .WillOnce([](GLuint
id, GLenum
target, GLuint* result) {
38 EXPECT_CALL(*mock_gles_impl,
39 GetQueryObjectui64vEXT(_, GL_QUERY_RESULT_EXT, _))
40 .WillOnce([](GLuint
id, GLenum
target, GLuint64* result) {
43 EXPECT_CALL(*mock_gles_impl, DeleteQueriesEXT(_, _));
44 EXPECT_CALL(*mock_gles_impl, GenQueriesEXT(_, _)).WillOnce(gen_queries);
45 EXPECT_CALL(*mock_gles_impl, BeginQueryEXT(GL_TIME_ELAPSED_EXT, _));
47 std::shared_ptr<MockGLES> mock_gles =
50 std::make_shared<GPUTracerGLES>(mock_gles->GetProcTable(),
true);
51 tracer->RecordRasterThread();
52 tracer->MarkFrameStart(mock_gles->GetProcTable());
53 tracer->MarkFrameEnd(mock_gles->GetProcTable());
54 tracer->MarkFrameStart(mock_gles->GetProcTable());
static std::shared_ptr< MockGLES > Init(std::unique_ptr< MockGLESImpl > impl, const std::optional< std::vector< const char * > > &extensions=std::nullopt)
TEST(FrameTimingsRecorderTest, RecordVsync)