Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Unified Diff: gpu/command_buffer/service/gpu_tracer_unittest.cc

Issue 937263006: Refactored GLContext to own GPUTiming which spawn GPUTimingClients. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merged with latest Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/gpu_tracer_unittest.cc
diff --git a/gpu/command_buffer/service/gpu_tracer_unittest.cc b/gpu/command_buffer/service/gpu_tracer_unittest.cc
index ba61ba38d8f2420403b0d144f2dddea548983d37..0e79b4c0d79b3d5bacc8cc50119acc5dd11bfa7e 100644
--- a/gpu/command_buffer/service/gpu_tracer_unittest.cc
+++ b/gpu/command_buffer/service/gpu_tracer_unittest.cc
@@ -8,10 +8,10 @@
#include "base/bind.h"
#include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h"
#include "gpu/command_buffer/service/gpu_service_test.h"
-#include "gpu/command_buffer/service/gpu_timing.h"
#include "gpu/command_buffer/service/gpu_tracer.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gl/gl_mock.h"
+#include "ui/gl/gpu_timing.h"
namespace gpu {
namespace gles2 {
@@ -152,7 +152,7 @@ class GPUTracerTester : public GPUTracer {
public:
explicit GPUTracerTester(gles2::GLES2Decoder* decoder)
: GPUTracer(decoder), tracing_enabled_(0) {
- gpu_timing_.SetCpuTimeForTesting(base::Bind(&FakeCpuTime));
+ gpu_timing_client_->SetCpuTimeForTesting(base::Bind(&FakeCpuTime));
// Force tracing to be dependent on our mock variable here.
gpu_trace_srv_category = &tracing_enabled_;
@@ -191,8 +191,6 @@ class BaseGpuTest : public GpuServiceTest {
public:
explicit BaseGpuTest(GPUTiming::TimerType test_timer_type)
: test_timer_type_(test_timer_type) {
- gpu_timing_.SetCpuTimeForTesting(base::Bind(&FakeCpuTime));
- gpu_timing_.SetTimerTypeForTesting(test_timer_type);
}
protected:
@@ -209,6 +207,9 @@ class BaseGpuTest : public GpuServiceTest {
extensions = "GL_ARB_timer_query GL_ARB_occlusion_query";
}
GpuServiceTest::SetUpWithGLVersion(gl_version, extensions);
+ gpu_timing_.Initialize(GetGLContext());
+ gpu_timing_client_ = gpu_timing_.CreateGPUTimingClient();
+ gpu_timing_client_->SetCpuTimeForTesting(base::Bind(&FakeCpuTime));
gl_fake_queries_.Reset();
outputter_ref_ = new MockOutputter();
@@ -229,15 +230,13 @@ class BaseGpuTest : public GpuServiceTest {
Invoke(&gl_fake_queries_, &GlFakeQueries::GenQueriesARB));
EXPECT_CALL(*gl_, GetQueryObjectivARB(_, GL_QUERY_RESULT_AVAILABLE,
- NotNull()))
+ NotNull()))
.WillRepeatedly(
- Invoke(&gl_fake_queries_, &GlFakeQueries::GetQueryObjectivARB));
+ Invoke(&gl_fake_queries_, &GlFakeQueries::GetQueryObjectivARB));
- if (GetTimerType() == GPUTiming::kTimerTypeDisjoint) {
- EXPECT_CALL(*gl_, GetInteger64v(GL_TIMESTAMP, _))
+ EXPECT_CALL(*gl_, GetInteger64v(GL_TIMESTAMP, _))
.WillRepeatedly(
- Invoke(&gl_fake_queries_, &GlFakeQueries::GetInteger64v));
- }
+ Invoke(&gl_fake_queries_, &GlFakeQueries::GetInteger64v));
EXPECT_CALL(*gl_, QueryCounter(_, GL_TIMESTAMP)).Times(AtLeast(2))
.WillRepeatedly(
@@ -318,6 +317,7 @@ class BaseGpuTest : public GpuServiceTest {
GlFakeQueries gl_fake_queries_;
GPUTiming gpu_timing_;
+ scoped_refptr<GPUTimingClient> gpu_timing_client_;
scoped_refptr<MockOutputter> outputter_ref_;
};
@@ -345,10 +345,8 @@ class BaseGpuTraceTest : public BaseGpuTest {
expect_start_time, expect_end_time);
scoped_refptr<GPUTrace> trace = new GPUTrace(
- outputter_ref_, &gpu_timing_, category_name, trace_name, true);
-
- gpu_timing_.SetOffsetForTesting(
- offset_time, test_timer_type_ == GPUTiming::kTimerTypeARB);
+ outputter_ref_, gpu_timing_client_.get(),
+ category_name, trace_name, true);
gl_fake_queries_.SetCurrentGLTime(start_timestamp);
g_fakeCPUTime = expect_start_time;

Powered by Google App Engine
This is Rietveld 408576698