Index: ui/gl/gpu_timing_fake.cc |
diff --git a/ui/gl/gpu_timing_fake.cc b/ui/gl/gpu_timing_fake.cc |
index 03f4af3d6ea06256a8c2d21d292d3e47545cd219..5747033c83f61240e3aa1307d48ea41a07702699 100644 |
--- a/ui/gl/gpu_timing_fake.cc |
+++ b/ui/gl/gpu_timing_fake.cc |
@@ -16,6 +16,9 @@ using ::testing::AtMost; |
using ::testing::Exactly; |
using ::testing::Invoke; |
using ::testing::NotNull; |
+using ::testing::DoAll; |
+using ::testing::Return; |
+using ::testing::SetArgPointee; |
int64_t GPUTimingFake::fake_cpu_time_ = 0; |
@@ -75,13 +78,20 @@ void GPUTimingFake::ExpectNoDisjointCalls(MockGLInterface& gl) { |
EXPECT_CALL(gl, GetIntegerv(GL_GPU_DISJOINT_EXT, _)).Times(Exactly(0)); |
} |
-void GPUTimingFake::ExpectGPUTimeStampQuery( |
- MockGLInterface& gl, bool elapsed_query) { |
+void GPUTimingFake::ExpectGPUTimeStampQuery(MockGLInterface& gl, |
+ bool elapsed_query, |
+ bool query_timestamp_counter_bits) { |
David Yen
2016/02/17 19:04:55
Whether or not timestamp counter bits is actually
Ian Ewell
2016/02/17 21:06:30
Done.
|
EXPECT_CALL(gl, GenQueries(1, NotNull())).Times(Exactly(1)) |
.WillRepeatedly(Invoke(this, &GPUTimingFake::FakeGLGenQueries)); |
if (!elapsed_query) { |
// Time Stamp based queries. |
+ if (query_timestamp_counter_bits) { |
+ EXPECT_CALL(gl, |
+ GetQueryiv(GL_TIMESTAMP, GL_QUERY_COUNTER_BITS, NotNull())) |
+ .Times(Exactly(1)) |
+ .WillRepeatedly(DoAll(SetArgPointee<2>(64), Return())); |
+ } |
EXPECT_CALL(gl, GetInteger64v(GL_TIMESTAMP, _)) |
.WillRepeatedly( |
Invoke(this, &GPUTimingFake::FakeGLGetInteger64v)); |
@@ -91,6 +101,12 @@ void GPUTimingFake::ExpectGPUTimeStampQuery( |
Invoke(this, &GPUTimingFake::FakeGLQueryCounter)); |
} else { |
// Time Elapsed based queries. |
+ if (query_timestamp_counter_bits) { |
+ EXPECT_CALL(gl, |
+ GetQueryiv(GL_TIMESTAMP, GL_QUERY_COUNTER_BITS, NotNull())) |
+ .Times(Exactly(1)) |
+ .WillRepeatedly(DoAll(SetArgPointee<2>(0), Return())); |
+ } |
EXPECT_CALL(gl, BeginQuery(GL_TIME_ELAPSED, _)).Times(Exactly(1)) |
.WillRepeatedly( |
Invoke(this, &GPUTimingFake::FakeGLBeginQuery)); |
@@ -121,6 +137,10 @@ void GPUTimingFake::ExpectGPUTimerQuery( |
if (!elapsed_query) { |
// Time Stamp based queries. |
+ EXPECT_CALL(gl, GetQueryiv(GL_TIMESTAMP, GL_QUERY_COUNTER_BITS, NotNull())) |
+ .Times(Exactly(1)) |
+ .WillRepeatedly(DoAll(SetArgPointee<2>(64), Return())); |
+ |
EXPECT_CALL(gl, GetInteger64v(GL_TIMESTAMP, _)) |
.WillRepeatedly( |
Invoke(this, &GPUTimingFake::FakeGLGetInteger64v)); |