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

Side by Side Diff: gpu/command_buffer/service/gpu_tracer_unittest.cc

Issue 1018773002: Added Destroy() functions for GPUTimer and GPUTracer/GPUTrace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Skip and disable non-enabled traces Created 5 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <map> 5 #include <map>
6 #include <set> 6 #include <set>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" 9 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h"
10 #include "gpu/command_buffer/service/gpu_service_test.h" 10 #include "gpu/command_buffer/service/gpu_service_test.h"
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 221 }
222 gpu_timing_client_ = GetGLContext()->CreateGPUTimingClient(); 222 gpu_timing_client_ = GetGLContext()->CreateGPUTimingClient();
223 gpu_timing_client_->SetCpuTimeForTesting(base::Bind(&FakeCpuTime)); 223 gpu_timing_client_->SetCpuTimeForTesting(base::Bind(&FakeCpuTime));
224 gl_fake_queries_.Reset(); 224 gl_fake_queries_.Reset();
225 225
226 outputter_ref_ = new MockOutputter(); 226 outputter_ref_ = new MockOutputter();
227 } 227 }
228 228
229 void TearDown() override { 229 void TearDown() override {
230 outputter_ref_ = NULL; 230 outputter_ref_ = NULL;
231 gpu_timing_client_ = NULL;
231 232
232 gl_fake_queries_.Reset(); 233 gl_fake_queries_.Reset();
233 GpuServiceTest::TearDown(); 234 GpuServiceTest::TearDown();
234 } 235 }
235 236
236 void ExpectTraceQueryMocks() { 237 void ExpectTraceQueryMocks() {
237 if (gpu_timing_client_->IsAvailable() && 238 if (gpu_timing_client_->IsAvailable() &&
238 gpu_timing_client_->IsTimerOffsetAvailable()) { 239 gpu_timing_client_->IsTimerOffsetAvailable()) {
239 // Delegate query APIs used by GPUTrace to a GlFakeQueries 240 // Delegate query APIs used by GPUTrace to a GlFakeQueries
240 EXPECT_CALL(*gl_, GenQueries(2, NotNull())).Times(AtLeast(1)) 241 EXPECT_CALL(*gl_, GenQueries(2, NotNull())).Times(AtLeast(1))
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 base::Time::kNanosecondsPerMicrosecond); 368 base::Time::kNanosecondsPerMicrosecond);
368 EXPECT_FALSE(trace->IsAvailable()); 369 EXPECT_FALSE(trace->IsAvailable());
369 370
370 // Now it should be available 371 // Now it should be available
371 gl_fake_queries_.SetCurrentGLTime(end_timestamp); 372 gl_fake_queries_.SetCurrentGLTime(end_timestamp);
372 EXPECT_TRUE(trace->IsAvailable()); 373 EXPECT_TRUE(trace->IsAvailable());
373 374
374 // Proces should output expected Trace results to MockOutputter 375 // Proces should output expected Trace results to MockOutputter
375 trace->Process(); 376 trace->Process();
376 377
378 // Destroy trace after we are done.
379 trace->Destroy(true);
380
377 outputter_ref_ = NULL; 381 outputter_ref_ = NULL;
378 } 382 }
379 }; 383 };
380 384
381 class GpuARBTimerTraceTest : public BaseGpuTraceTest { 385 class GpuARBTimerTraceTest : public BaseGpuTraceTest {
382 public: 386 public:
383 GpuARBTimerTraceTest() : BaseGpuTraceTest(gfx::GPUTiming::kTimerTypeARB) {} 387 GpuARBTimerTraceTest() : BaseGpuTraceTest(gfx::GPUTiming::kTimerTypeARB) {}
384 }; 388 };
385 389
386 class GpuDisjointTimerTraceTest : public BaseGpuTraceTest { 390 class GpuDisjointTimerTraceTest : public BaseGpuTraceTest {
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 scoped_refptr<gfx::GPUTimingClient> client3 = 702 scoped_refptr<gfx::GPUTimingClient> client3 =
699 GetGLContext()->CreateGPUTimingClient(); 703 GetGLContext()->CreateGPUTimingClient();
700 ASSERT_TRUE(client1->CheckAndResetTimerErrors()); 704 ASSERT_TRUE(client1->CheckAndResetTimerErrors());
701 ASSERT_TRUE(client2->CheckAndResetTimerErrors()); 705 ASSERT_TRUE(client2->CheckAndResetTimerErrors());
702 ASSERT_FALSE(client3->CheckAndResetTimerErrors()); 706 ASSERT_FALSE(client3->CheckAndResetTimerErrors());
703 } 707 }
704 708
705 } // namespace 709 } // namespace
706 } // namespace gles2 710 } // namespace gles2
707 } // namespace gpu 711 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698