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

Side by Side Diff: cc/output/overlay_unittest.cc

Issue 2829543003: gpu: Empty swaps for surfaceless output surfaces. (Closed)
Patch Set: new workaround Created 3 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
« no previous file with comments | « cc/output/direct_renderer.cc ('k') | components/display_compositor/buffer_queue.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 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 2172 matching lines...) Expand 10 before | Expand all | Expand 10 after
2183 CreateFullscreenOpaqueQuad(resource_provider_.get(), 2183 CreateFullscreenOpaqueQuad(resource_provider_.get(),
2184 pass->shared_quad_state_list.back(), pass.get()); 2184 pass->shared_quad_state_list.back(), pass.get());
2185 2185
2186 RenderPassList pass_list; 2186 RenderPassList pass_list;
2187 pass_list.push_back(std::move(pass)); 2187 pass_list.push_back(std::move(pass));
2188 2188
2189 output_surface_->set_is_displayed_as_overlay_plane(true); 2189 output_surface_->set_is_displayed_as_overlay_plane(true);
2190 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(0); 2190 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(0);
2191 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2); 2191 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
2192 DrawFrame(&pass_list, viewport_size); 2192 DrawFrame(&pass_list, viewport_size);
2193 EXPECT_EQ(1U, output_surface_->bind_framebuffer_count()); 2193 EXPECT_EQ(0U, output_surface_->bind_framebuffer_count());
2194 SwapBuffers(); 2194 SwapBuffers();
2195 Mock::VerifyAndClearExpectations(renderer_.get()); 2195 Mock::VerifyAndClearExpectations(renderer_.get());
2196 Mock::VerifyAndClearExpectations(&scheduler_); 2196 Mock::VerifyAndClearExpectations(&scheduler_);
2197 } 2197 }
2198 2198
2199 // GLRenderer skips drawing occluded quads when empty swap is enabled. 2199 // GLRenderer skips drawing occluded quads when empty swap is enabled.
2200 TEST_F(GLRendererWithOverlaysTest, OccludedQuadNotDrawnWhenEmptySwapAllowed) { 2200 TEST_F(GLRendererWithOverlaysTest, OccludedQuadNotDrawnWhenEmptySwapAllowed) {
2201 provider_->TestContext3d()->set_have_commit_overlay_planes(true); 2201 provider_->TestContext3d()->set_have_commit_overlay_planes(true);
2202 bool use_validator = true; 2202 bool use_validator = true;
2203 Init(use_validator); 2203 Init(use_validator);
(...skipping 11 matching lines...) Expand all
2215 CreateFullscreenOpaqueQuad(resource_provider_.get(), 2215 CreateFullscreenOpaqueQuad(resource_provider_.get(),
2216 pass->shared_quad_state_list.back(), pass.get()); 2216 pass->shared_quad_state_list.back(), pass.get());
2217 2217
2218 RenderPassList pass_list; 2218 RenderPassList pass_list;
2219 pass_list.push_back(std::move(pass)); 2219 pass_list.push_back(std::move(pass));
2220 2220
2221 output_surface_->set_is_displayed_as_overlay_plane(true); 2221 output_surface_->set_is_displayed_as_overlay_plane(true);
2222 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(0); 2222 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(0);
2223 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2); 2223 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
2224 DrawFrame(&pass_list, viewport_size); 2224 DrawFrame(&pass_list, viewport_size);
2225 EXPECT_EQ(1U, output_surface_->bind_framebuffer_count()); 2225 EXPECT_EQ(0U, output_surface_->bind_framebuffer_count());
2226 SwapBuffers(); 2226 SwapBuffers();
2227 Mock::VerifyAndClearExpectations(renderer_.get()); 2227 Mock::VerifyAndClearExpectations(renderer_.get());
2228 Mock::VerifyAndClearExpectations(&scheduler_); 2228 Mock::VerifyAndClearExpectations(&scheduler_);
2229 } 2229 }
2230 2230
2231 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) { 2231 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) {
2232 bool use_validator = true; 2232 bool use_validator = true;
2233 Init(use_validator); 2233 Init(use_validator);
2234 renderer_->set_expect_overlays(true); 2234 renderer_->set_expect_overlays(true);
2235 2235
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
2599 kOverlayRect, render_pass_id_, 2, gfx::RectF(), gfx::Size(), 2599 kOverlayRect, render_pass_id_, 2, gfx::RectF(), gfx::Size(),
2600 gfx::Vector2dF(1, 1), gfx::PointF(), gfx::RectF()); 2600 gfx::Vector2dF(1, 1), gfx::PointF(), gfx::RectF());
2601 } 2601 }
2602 2602
2603 ProcessForOverlays(); 2603 ProcessForOverlays();
2604 EXPECT_EQ(0U, ca_layer_list_.size()); 2604 EXPECT_EQ(0U, ca_layer_list_.size());
2605 } 2605 }
2606 2606
2607 } // namespace 2607 } // namespace
2608 } // namespace cc 2608 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/direct_renderer.cc ('k') | components/display_compositor/buffer_queue.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698