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

Unified Diff: cc/output/overlay_unittest.cc

Issue 1513283002: Add support to send optimal format as part of ScheduleOverlayPlane (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update cmd_buffer_functions Created 5 years 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
« no previous file with comments | « cc/output/overlay_candidate.cc ('k') | cc/test/test_context_support.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/overlay_unittest.cc
diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc
index 7974297917fda58efab0d0e8002397cb6fccb002..dec58516ae050277c8ef4865bb0d8b40a0652ce9 100644
--- a/cc/output/overlay_unittest.cc
+++ b/cc/output/overlay_unittest.cc
@@ -1679,12 +1679,14 @@ class FakeRendererClient : public RendererClient {
class MockOverlayScheduler {
public:
- MOCK_METHOD5(Schedule,
+ MOCK_METHOD7(Schedule,
void(int plane_z_order,
gfx::OverlayTransform plane_transform,
+ gfx::BufferFormat storage_format,
unsigned overlay_texture_id,
const gfx::Rect& display_bounds,
- const gfx::RectF& uv_rect));
+ const gfx::RectF& uv_rect,
+ bool handle_Scaling));
};
class GLRendererWithOverlaysTest : public testing::Test {
@@ -1745,13 +1747,15 @@ TEST_F(GLRendererWithOverlaysTest, OverlayQuadNotDrawn) {
// Candidate pass was taken out and extra skipped pass added,
// so only draw 2 quads.
EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(2);
- EXPECT_CALL(scheduler_,
- Schedule(0, gfx::OVERLAY_TRANSFORM_NONE, _,
- gfx::Rect(kDisplaySize), gfx::RectF(0, 0, 1, 1)))
+ EXPECT_CALL(
+ scheduler_,
+ Schedule(0, gfx::OVERLAY_TRANSFORM_NONE, gfx::BufferFormat::BGRX_8888, _,
+ gfx::Rect(kDisplaySize), gfx::RectF(0, 0, 1, 1), true))
.Times(1);
- EXPECT_CALL(scheduler_, Schedule(1, gfx::OVERLAY_TRANSFORM_NONE, _,
- kOverlayBottomRightRect,
- BoundingRect(kUVTopLeft, kUVBottomRight)))
+ EXPECT_CALL(scheduler_,
+ Schedule(1, gfx::OVERLAY_TRANSFORM_NONE,
+ gfx::BufferFormat::BGRX_8888, _, kOverlayBottomRightRect,
+ BoundingRect(kUVTopLeft, kUVBottomRight), true))
.Times(1);
renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
@@ -1784,13 +1788,15 @@ TEST_F(GLRendererWithOverlaysTest, OccludedQuadInUnderlay) {
// Candidate quad should fail to be overlaid on top because of occlusion.
// Expect to be replaced with transparent hole quad and placed in underlay.
EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3);
- EXPECT_CALL(scheduler_,
- Schedule(0, gfx::OVERLAY_TRANSFORM_NONE, _,
- gfx::Rect(kDisplaySize), gfx::RectF(0, 0, 1, 1)))
+ EXPECT_CALL(
+ scheduler_,
+ Schedule(0, gfx::OVERLAY_TRANSFORM_NONE, gfx::BufferFormat::BGRX_8888, _,
+ gfx::Rect(kDisplaySize), gfx::RectF(0, 0, 1, 1), true))
.Times(1);
- EXPECT_CALL(scheduler_,
- Schedule(-1, gfx::OVERLAY_TRANSFORM_NONE, _, kOverlayRect,
- BoundingRect(kUVTopLeft, kUVBottomRight)))
+ EXPECT_CALL(
+ scheduler_,
+ Schedule(-1, gfx::OVERLAY_TRANSFORM_NONE, gfx::BufferFormat::BGRX_8888, _,
+ kOverlayRect, BoundingRect(kUVTopLeft, kUVBottomRight), true))
.Times(1);
renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
@@ -1823,7 +1829,7 @@ TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) {
// Should not see the primary surface's overlay.
output_surface_->set_is_displayed_as_overlay_plane(false);
EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(0);
renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
SwapBuffers();
Mock::VerifyAndClearExpectations(renderer_.get());
@@ -1854,7 +1860,7 @@ TEST_F(GLRendererWithOverlaysTest, OccludedQuadNotDrawnWhenPartialSwapEnabled) {
output_surface_->set_is_displayed_as_overlay_plane(true);
EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(0);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
SwapBuffers();
Mock::VerifyAndClearExpectations(renderer_.get());
@@ -1885,7 +1891,7 @@ TEST_F(GLRendererWithOverlaysTest, OccludedQuadNotDrawnWhenEmptySwapAllowed) {
output_surface_->set_is_displayed_as_overlay_plane(true);
EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(0);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
SwapBuffers();
Mock::VerifyAndClearExpectations(renderer_.get());
@@ -1932,7 +1938,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) {
overlay3.resource_id = resource3;
overlay3.plane_z_order = 1;
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame1);
renderer_->FinishDrawingFrame(&frame1);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
@@ -1940,7 +1946,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) {
SwapBuffers();
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame2);
renderer_->FinishDrawingFrame(&frame2);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
@@ -1950,7 +1956,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) {
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource2));
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame3);
renderer_->FinishDrawingFrame(&frame3);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
@@ -1963,7 +1969,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) {
Mock::VerifyAndClearExpectations(&scheduler_);
// No overlays, release the resource.
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(0);
DirectRenderer::DrawingFrame frame_no_overlays;
frame_no_overlays.render_passes_in_draw_order = &pass_list;
renderer_->set_expect_overlays(false);
@@ -1980,14 +1986,14 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) {
// Use the same buffer twice.
renderer_->set_expect_overlays(true);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame1);
renderer_->FinishDrawingFrame(&frame1);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
SwapBuffers();
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame1);
renderer_->FinishDrawingFrame(&frame1);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
@@ -1995,7 +2001,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) {
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(0);
renderer_->set_expect_overlays(false);
renderer_->BeginDrawingFrame(&frame_no_overlays);
renderer_->FinishDrawingFrame(&frame_no_overlays);
@@ -2004,7 +2010,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) {
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(0);
renderer_->set_expect_overlays(false);
renderer_->BeginDrawingFrame(&frame_no_overlays);
renderer_->FinishDrawingFrame(&frame_no_overlays);
@@ -2055,7 +2061,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithExtraDelay) {
overlay3.resource_id = resource3;
overlay3.plane_z_order = 1;
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame1);
renderer_->FinishDrawingFrame(&frame1);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
@@ -2063,7 +2069,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithExtraDelay) {
SwapBuffers();
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame2);
renderer_->FinishDrawingFrame(&frame2);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
@@ -2073,7 +2079,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithExtraDelay) {
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource2));
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame3);
renderer_->FinishDrawingFrame(&frame3);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
@@ -2086,7 +2092,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithExtraDelay) {
Mock::VerifyAndClearExpectations(&scheduler_);
// No overlays, release the resource.
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(0);
DirectRenderer::DrawingFrame frame_no_overlays;
frame_no_overlays.render_passes_in_draw_order = &pass_list;
renderer_->set_expect_overlays(false);
@@ -2103,14 +2109,14 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithExtraDelay) {
// Use the same buffer twice.
renderer_->set_expect_overlays(true);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame1);
renderer_->FinishDrawingFrame(&frame1);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
SwapBuffers();
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(2);
renderer_->BeginDrawingFrame(&frame1);
renderer_->FinishDrawingFrame(&frame1);
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
@@ -2118,7 +2124,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithExtraDelay) {
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(0);
renderer_->set_expect_overlays(false);
renderer_->BeginDrawingFrame(&frame_no_overlays);
renderer_->FinishDrawingFrame(&frame_no_overlays);
@@ -2127,7 +2133,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithExtraDelay) {
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(0);
renderer_->set_expect_overlays(false);
renderer_->BeginDrawingFrame(&frame_no_overlays);
renderer_->FinishDrawingFrame(&frame_no_overlays);
@@ -2136,7 +2142,7 @@ TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithExtraDelay) {
EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
Mock::VerifyAndClearExpectations(&scheduler_);
- EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
+ EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _, _, _)).Times(0);
renderer_->set_expect_overlays(false);
renderer_->BeginDrawingFrame(&frame_no_overlays);
renderer_->FinishDrawingFrame(&frame_no_overlays);
« no previous file with comments | « cc/output/overlay_candidate.cc ('k') | cc/test/test_context_support.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698