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

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

Issue 251343002: Remove offscreen compositor contexts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rm-offscreencontext: include Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « cc/test/pixel_test.h ('k') | cc/trees/layer_tree_host.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
(...skipping 18 matching lines...) Expand all
29 namespace cc { 29 namespace cc {
30 30
31 PixelTest::PixelTest() 31 PixelTest::PixelTest()
32 : device_viewport_size_(gfx::Size(200, 200)), 32 : device_viewport_size_(gfx::Size(200, 200)),
33 disable_picture_quad_image_filtering_(false), 33 disable_picture_quad_image_filtering_(false),
34 output_surface_client_(new FakeOutputSurfaceClient) {} 34 output_surface_client_(new FakeOutputSurfaceClient) {}
35 35
36 PixelTest::~PixelTest() {} 36 PixelTest::~PixelTest() {}
37 37
38 bool PixelTest::RunPixelTest(RenderPassList* pass_list, 38 bool PixelTest::RunPixelTest(RenderPassList* pass_list,
39 OffscreenContextOption provide_offscreen_context,
40 const base::FilePath& ref_file, 39 const base::FilePath& ref_file,
41 const PixelComparator& comparator) { 40 const PixelComparator& comparator) {
42 return RunPixelTestWithReadbackTarget(pass_list, 41 return RunPixelTestWithReadbackTarget(pass_list,
43 pass_list->back(), 42 pass_list->back(),
44 provide_offscreen_context,
45 ref_file, 43 ref_file,
46 comparator); 44 comparator);
47 } 45 }
48 46
49 bool PixelTest::RunPixelTestWithReadbackTarget( 47 bool PixelTest::RunPixelTestWithReadbackTarget(
50 RenderPassList* pass_list, 48 RenderPassList* pass_list,
51 RenderPass* target, 49 RenderPass* target,
52 OffscreenContextOption provide_offscreen_context,
53 const base::FilePath& ref_file, 50 const base::FilePath& ref_file,
54 const PixelComparator& comparator) { 51 const PixelComparator& comparator) {
55 base::RunLoop run_loop; 52 base::RunLoop run_loop;
56 53
57 target->copy_requests.push_back(CopyOutputRequest::CreateBitmapRequest( 54 target->copy_requests.push_back(CopyOutputRequest::CreateBitmapRequest(
58 base::Bind(&PixelTest::ReadbackResult, 55 base::Bind(&PixelTest::ReadbackResult,
59 base::Unretained(this), 56 base::Unretained(this),
60 run_loop.QuitClosure()))); 57 run_loop.QuitClosure())));
61 58
62 scoped_refptr<ContextProvider> offscreen_contexts;
63 switch (provide_offscreen_context) {
64 case NoOffscreenContext:
65 break;
66 case WithOffscreenContext:
67 offscreen_contexts = new TestInProcessContextProvider;
68 CHECK(offscreen_contexts->BindToCurrentThread());
69 break;
70 }
71
72 float device_scale_factor = 1.f; 59 float device_scale_factor = 1.f;
73 gfx::Rect device_viewport_rect = 60 gfx::Rect device_viewport_rect =
74 gfx::Rect(device_viewport_size_) + external_device_viewport_offset_; 61 gfx::Rect(device_viewport_size_) + external_device_viewport_offset_;
75 gfx::Rect device_clip_rect = external_device_clip_rect_.IsEmpty() 62 gfx::Rect device_clip_rect = external_device_clip_rect_.IsEmpty()
76 ? device_viewport_rect 63 ? device_viewport_rect
77 : external_device_clip_rect_; 64 : external_device_clip_rect_;
78 renderer_->DecideRenderPassAllocationsForFrame(*pass_list); 65 renderer_->DecideRenderPassAllocationsForFrame(*pass_list);
79 renderer_->DrawFrame(pass_list, 66 renderer_->DrawFrame(pass_list,
80 offscreen_contexts.get(),
81 device_scale_factor, 67 device_scale_factor,
82 device_viewport_rect, 68 device_viewport_rect,
83 device_clip_rect, 69 device_clip_rect,
84 disable_picture_quad_image_filtering_); 70 disable_picture_quad_image_filtering_);
85 71
86 // Wait for the readback to complete. 72 // Wait for the readback to complete.
87 resource_provider_->Finish(); 73 resource_provider_->Finish();
88 run_loop.Run(); 74 run_loop.Run();
89 75
90 return PixelsMatchReference(ref_file, comparator); 76 return PixelsMatchReference(ref_file, comparator);
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); 153 shared_bitmap_manager_.reset(new TestSharedBitmapManager());
168 resource_provider_ = ResourceProvider::Create( 154 resource_provider_ = ResourceProvider::Create(
169 output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); 155 output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1);
170 renderer_ = 156 renderer_ =
171 SoftwareRenderer::Create( 157 SoftwareRenderer::Create(
172 this, &settings_, output_surface_.get(), resource_provider_.get()) 158 this, &settings_, output_surface_.get(), resource_provider_.get())
173 .PassAs<DirectRenderer>(); 159 .PassAs<DirectRenderer>();
174 } 160 }
175 161
176 } // namespace cc 162 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/pixel_test.h ('k') | cc/trees/layer_tree_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698