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

Side by Side Diff: cc/test/pixel_test.cc

Issue 375303002: cc: Refactor ResourceProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments addressed. Created 6 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "cc/test/pixel_test.h" 5 #include "cc/test/pixel_test.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/message_loop/message_loop_proxy.h" 8 #include "base/message_loop/message_loop_proxy.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
11 #include "cc/base/switches.h" 11 #include "cc/base/switches.h"
12 #include "cc/output/compositor_frame_metadata.h" 12 #include "cc/output/compositor_frame_metadata.h"
13 #include "cc/output/copy_output_request.h" 13 #include "cc/output/copy_output_request.h"
14 #include "cc/output/copy_output_result.h" 14 #include "cc/output/copy_output_result.h"
15 #include "cc/output/gl_renderer.h" 15 #include "cc/output/gl_renderer.h"
16 #include "cc/output/output_surface_client.h" 16 #include "cc/output/output_surface_client.h"
17 #include "cc/output/software_renderer.h" 17 #include "cc/output/software_renderer.h"
18 #include "cc/resources/raster_worker_pool.h" 18 #include "cc/resources/raster_worker_pool.h"
19 #include "cc/resources/resource_provider.h" 19 #include "cc/resources/resource_provider.h"
20 #include "cc/resources/texture_mailbox_deleter.h" 20 #include "cc/resources/texture_mailbox_deleter.h"
21 #include "cc/test/fake_output_surface_client.h" 21 #include "cc/test/fake_output_surface_client.h"
22 #include "cc/test/paths.h" 22 #include "cc/test/paths.h"
23 #include "cc/test/pixel_test_output_surface.h" 23 #include "cc/test/pixel_test_output_surface.h"
24 #include "cc/test/pixel_test_software_output_device.h" 24 #include "cc/test/pixel_test_software_output_device.h"
25 #include "cc/test/pixel_test_utils.h" 25 #include "cc/test/pixel_test_utils.h"
26 #include "cc/test/test_in_process_context_provider.h" 26 #include "cc/test/test_in_process_context_provider.h"
27 #include "cc/test/test_shared_bitmap_manager.h" 27 #include "cc/test/test_shared_bitmap_manager.h"
28 #include "gpu/command_buffer/client/gles2_interface.h"
28 #include "testing/gtest/include/gtest/gtest.h" 29 #include "testing/gtest/include/gtest/gtest.h"
29 30
31 using gpu::gles2::GLES2Interface;
32
30 namespace cc { 33 namespace cc {
31 34
32 PixelTest::PixelTest() 35 PixelTest::PixelTest()
33 : device_viewport_size_(gfx::Size(200, 200)), 36 : device_viewport_size_(gfx::Size(200, 200)),
34 disable_picture_quad_image_filtering_(false), 37 disable_picture_quad_image_filtering_(false),
35 output_surface_client_(new FakeOutputSurfaceClient) {} 38 output_surface_client_(new FakeOutputSurfaceClient) {}
36 39
37 PixelTest::~PixelTest() {} 40 PixelTest::~PixelTest() {}
38 41
39 bool PixelTest::RunPixelTest(RenderPassList* pass_list, 42 bool PixelTest::RunPixelTest(RenderPassList* pass_list,
(...skipping 24 matching lines...) Expand all
64 ? device_viewport_rect 67 ? device_viewport_rect
65 : external_device_clip_rect_; 68 : external_device_clip_rect_;
66 renderer_->DecideRenderPassAllocationsForFrame(*pass_list); 69 renderer_->DecideRenderPassAllocationsForFrame(*pass_list);
67 renderer_->DrawFrame(pass_list, 70 renderer_->DrawFrame(pass_list,
68 device_scale_factor, 71 device_scale_factor,
69 device_viewport_rect, 72 device_viewport_rect,
70 device_clip_rect, 73 device_clip_rect,
71 disable_picture_quad_image_filtering_); 74 disable_picture_quad_image_filtering_);
72 75
73 // Wait for the readback to complete. 76 // Wait for the readback to complete.
74 resource_provider_->Finish(); 77 GLES2Interface* gl = output_surface_->context_provider()->ContextGL();
danakj 2014/07/11 16:49:04 if context_provider() isn't null. it's null when s
sohanjg 2014/07/11 17:12:45 Done.
78 if (gl)
danakj 2014/07/11 16:49:04 don't need to check gl though
sohanjg 2014/07/11 17:12:45 Done.
79 gl->Finish();
75 run_loop.Run(); 80 run_loop.Run();
76 81
77 return PixelsMatchReference(ref_file, comparator); 82 return PixelsMatchReference(ref_file, comparator);
78 } 83 }
79 84
80 void PixelTest::ReadbackResult(base::Closure quit_run_loop, 85 void PixelTest::ReadbackResult(base::Closure quit_run_loop,
81 scoped_ptr<CopyOutputResult> result) { 86 scoped_ptr<CopyOutputResult> result) {
82 ASSERT_TRUE(result->HasBitmap()); 87 ASSERT_TRUE(result->HasBitmap());
83 result_bitmap_ = result->TakeBitmap().Pass(); 88 result_bitmap_ = result->TakeBitmap().Pass();
84 quit_run_loop.Run(); 89 quit_run_loop.Run();
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); 183 shared_bitmap_manager_.reset(new TestSharedBitmapManager());
179 resource_provider_ = ResourceProvider::Create( 184 resource_provider_ = ResourceProvider::Create(
180 output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, false); 185 output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, false);
181 renderer_ = 186 renderer_ =
182 SoftwareRenderer::Create( 187 SoftwareRenderer::Create(
183 this, &settings_, output_surface_.get(), resource_provider_.get()) 188 this, &settings_, output_surface_.get(), resource_provider_.get())
184 .PassAs<DirectRenderer>(); 189 .PassAs<DirectRenderer>();
185 } 190 }
186 191
187 } // namespace cc 192 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698