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

Unified Diff: cc/output/gl_renderer_unittest.cc

Issue 2102203003: Color: Plumb color profile from ui::Compositor to cc::DirectRenderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase on top of s/ColorProfile/ColorSpace/ Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/output/direct_renderer.cc ('k') | cc/output/output_surface.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/gl_renderer_unittest.cc
diff --git a/cc/output/gl_renderer_unittest.cc b/cc/output/gl_renderer_unittest.cc
index a72f2dc4d49aa7774df4f75dc0a19e2220e6023b..51377a355f18f4fa8da08e4928c1930a17ba34b5 100644
--- a/cc/output/gl_renderer_unittest.cc
+++ b/cc/output/gl_renderer_unittest.cc
@@ -64,6 +64,16 @@ class GLRendererTest : public testing::Test {
RenderPass* root_render_pass() {
return render_passes_in_draw_order_.back().get();
}
+ void DrawFrame(Renderer* renderer, const gfx::Rect& viewport_rect) {
+ renderer->DrawFrame(&render_passes_in_draw_order_, 1.f, gfx::ColorSpace(),
+ viewport_rect, viewport_rect, false);
+ }
+ void DrawFrame(Renderer* renderer,
+ const gfx::Rect& viewport_rect,
+ const gfx::Rect& clip_rect) {
+ renderer->DrawFrame(&render_passes_in_draw_order_, 1.f, gfx::ColorSpace(),
+ viewport_rect, clip_rect, false);
+ }
RenderPassList render_passes_in_draw_order_;
};
@@ -540,11 +550,7 @@ TEST_F(GLRendererWithDefaultHarnessTest,
gfx::Transform());
renderer_->SetVisible(true);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
EXPECT_FALSE(renderer_->IsBackbufferDiscarded());
SwapBuffers();
@@ -562,11 +568,7 @@ TEST_F(GLRendererWithDefaultHarnessTest, ExternalStencil) {
viewport_rect, gfx::Transform());
root_pass->has_transparent_background = false;
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
EXPECT_TRUE(renderer_->stencil_enabled());
}
@@ -773,11 +775,7 @@ TEST_F(GLRendererTest, OpaqueBackground) {
#else
EXPECT_CALL(*context, clear(_)).Times(1);
#endif
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(&renderer, viewport_rect);
Mock::VerifyAndClearExpectations(context);
}
@@ -811,11 +809,7 @@ TEST_F(GLRendererTest, TransparentBackground) {
EXPECT_CALL(*context, discardFramebufferEXT(GL_FRAMEBUFFER, 1, _)).Times(1);
EXPECT_CALL(*context, clear(_)).Times(1);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(&renderer, viewport_rect);
Mock::VerifyAndClearExpectations(context);
}
@@ -852,11 +846,7 @@ TEST_F(GLRendererTest, OffscreenOutputSurface) {
.With(Args<2, 1>(ElementsAre(GL_COLOR_ATTACHMENT0)))
.Times(1);
EXPECT_CALL(*context, clear(_)).Times(AnyNumber());
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(&renderer, viewport_rect);
Mock::VerifyAndClearExpectations(context);
}
@@ -953,11 +943,7 @@ TEST_F(GLRendererTest, ActiveTextureState) {
}
gfx::Rect viewport_rect(100, 100);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(&renderer, viewport_rect);
Mock::VerifyAndClearExpectations(context);
}
@@ -1030,11 +1016,7 @@ TEST_F(GLRendererTest, ShouldClearRootRenderPass) {
first_render_pass);
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(&renderer, viewport_rect);
// In multiple render passes all but the root pass should clear the
// framebuffer.
@@ -1110,11 +1092,7 @@ TEST_F(GLRendererTest, ScissorTestWhenClearing) {
AddRenderPassQuad(child_pass, grand_child_pass);
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(&renderer, viewport_rect);
}
class DiscardCheckingContext : public TestWebGraphicsContext3D {
@@ -1148,6 +1126,7 @@ class NonReshapableOutputSurface : public FakeOutputSurface {
}
void Reshape(const gfx::Size& size,
float scale_factor,
+ const gfx::ColorSpace& color_space,
bool has_alpha) override {}
void set_fixed_size(const gfx::Size& size) { surface_size_ = size; }
};
@@ -1191,11 +1170,7 @@ TEST_F(GLRendererTest, NoDiscardOnPartialUpdates) {
root_pass->damage_rect = gfx::Rect(2, 2, 3, 3);
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- clip_rect,
- false);
+ DrawFrame(&renderer, viewport_rect, clip_rect);
EXPECT_EQ(0, context->discarded());
context->reset();
}
@@ -1209,11 +1184,7 @@ TEST_F(GLRendererTest, NoDiscardOnPartialUpdates) {
root_pass->damage_rect = root_pass->output_rect;
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- clip_rect,
- false);
+ DrawFrame(&renderer, viewport_rect, clip_rect);
EXPECT_EQ(1, context->discarded());
context->reset();
}
@@ -1229,11 +1200,7 @@ TEST_F(GLRendererTest, NoDiscardOnPartialUpdates) {
root_pass->has_transparent_background = false;
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- clip_rect,
- false);
+ DrawFrame(&renderer, viewport_rect, clip_rect);
EXPECT_EQ(0, context->discarded());
context->reset();
output_surface->set_has_external_stencil_test(false);
@@ -1249,11 +1216,7 @@ TEST_F(GLRendererTest, NoDiscardOnPartialUpdates) {
root_pass->damage_rect = root_pass->output_rect;
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- clip_rect,
- false);
+ DrawFrame(&renderer, viewport_rect, clip_rect);
EXPECT_EQ(0, context->discarded());
context->reset();
}
@@ -1268,11 +1231,7 @@ TEST_F(GLRendererTest, NoDiscardOnPartialUpdates) {
root_pass->damage_rect = root_pass->output_rect;
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- clip_rect,
- false);
+ DrawFrame(&renderer, viewport_rect, clip_rect);
EXPECT_EQ(0, context->discarded());
context->reset();
}
@@ -1288,11 +1247,7 @@ TEST_F(GLRendererTest, NoDiscardOnPartialUpdates) {
root_pass->damage_rect = root_pass->output_rect;
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- clip_rect,
- false);
+ DrawFrame(&renderer, viewport_rect, clip_rect);
EXPECT_EQ(0, context->discarded());
context->reset();
}
@@ -1348,11 +1303,7 @@ TEST_F(GLRendererTest, ScissorAndViewportWithinNonreshapableSurface) {
AddClippedQuad(root_pass, quad_rect, SK_ColorGREEN);
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- device_viewport_rect,
- device_viewport_rect,
- false);
+ DrawFrame(&renderer, device_viewport_rect);
}
TEST_F(GLRendererTest, DrawFramePreservesFramebuffer) {
@@ -1395,8 +1346,7 @@ TEST_F(GLRendererTest, DrawFramePreservesFramebuffer) {
output_surface->set_framebuffer(fbo, GL_RGB);
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer.DrawFrame(&render_passes_in_draw_order_, 1.f, device_viewport_rect,
- device_viewport_rect, false);
+ DrawFrame(&renderer, device_viewport_rect);
int bound_fbo;
gl->GetIntegerv(GL_FRAMEBUFFER_BINDING, &bound_fbo);
@@ -1467,11 +1417,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
renderer_->DecideRenderPassAllocationsForFrame(
render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
TestRenderPassProgram(TEX_COORD_PRECISION_MEDIUM, blend_mode);
// RenderPassColorMatrixProgram
@@ -1492,11 +1438,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
renderer_->DecideRenderPassAllocationsForFrame(
render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
TestRenderPassColorMatrixProgram(TEX_COORD_PRECISION_MEDIUM, blend_mode);
// RenderPassMaskProgram
@@ -1521,11 +1463,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
renderer_->DecideRenderPassAllocationsForFrame(
render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
TestRenderPassMaskProgram(TEX_COORD_PRECISION_MEDIUM, SAMPLER_TYPE_2D,
blend_mode);
@@ -1547,11 +1485,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
renderer_->DecideRenderPassAllocationsForFrame(
render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
TestRenderPassMaskColorMatrixProgram(TEX_COORD_PRECISION_MEDIUM,
SAMPLER_TYPE_2D, blend_mode);
@@ -1577,11 +1511,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
renderer_->DecideRenderPassAllocationsForFrame(
render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
TestRenderPassProgramAA(TEX_COORD_PRECISION_MEDIUM, blend_mode);
// RenderPassColorMatrixProgramAA
@@ -1602,11 +1532,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
renderer_->DecideRenderPassAllocationsForFrame(
render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
TestRenderPassColorMatrixProgramAA(TEX_COORD_PRECISION_MEDIUM, blend_mode);
// RenderPassMaskProgramAA
@@ -1631,11 +1557,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
renderer_->DecideRenderPassAllocationsForFrame(
render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
TestRenderPassMaskProgramAA(TEX_COORD_PRECISION_MEDIUM, SAMPLER_TYPE_2D,
blend_mode);
@@ -1657,11 +1579,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) {
renderer_->DecideRenderPassAllocationsForFrame(
render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
TestRenderPassMaskColorMatrixProgramAA(TEX_COORD_PRECISION_MEDIUM,
SAMPLER_TYPE_2D, blend_mode);
}
@@ -1708,11 +1626,7 @@ TEST_F(GLRendererShaderTest, DrawRenderPassQuadSkipsAAForClippingTransform) {
SkXfermode::kSrcOver_Mode);
renderer_->DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
// If use_aa incorrectly ignores clipping, it will use the
// RenderPassProgramAA shader instead of the RenderPassProgram.
@@ -1738,11 +1652,7 @@ TEST_F(GLRendererShaderTest, DrawSolidColorShader) {
pixel_aligned_transform_causing_aa);
renderer_->DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- 1.f,
- viewport_rect,
- viewport_rect,
- false);
+ DrawFrame(renderer_.get(), viewport_rect);
TestSolidColorProgramAA();
}
@@ -1776,8 +1686,11 @@ class MockOutputSurface : public OutputSurface {
MOCK_METHOD0(EnsureBackbuffer, void());
MOCK_METHOD0(DiscardBackbuffer, void());
- MOCK_METHOD3(Reshape,
- void(const gfx::Size& size, float scale_factor, bool has_alpha));
+ MOCK_METHOD4(Reshape,
+ void(const gfx::Size& size,
+ float scale_factor,
+ const gfx::ColorSpace& color_space,
+ bool has_alpha));
MOCK_METHOD0(BindFramebuffer, void());
MOCK_METHOD0(GetFramebufferCopyTextureFormat, GLenum());
MOCK_METHOD1(SwapBuffers_, void(CompositorFrame& frame));
@@ -1815,7 +1728,7 @@ class MockOutputSurfaceTest : public GLRendererTest {
EXPECT_CALL(output_surface_, EnsureBackbuffer()).WillRepeatedly(Return());
EXPECT_CALL(output_surface_, Reshape(device_viewport_rect.size(),
- device_scale_factor, transparent))
+ device_scale_factor, _, transparent))
.Times(1);
EXPECT_CALL(output_surface_, BindFramebuffer()).Times(1);
@@ -1824,11 +1737,9 @@ class MockOutputSurfaceTest : public GLRendererTest {
renderer_->DecideRenderPassAllocationsForFrame(
render_passes_in_draw_order_);
- renderer_->DrawFrame(&render_passes_in_draw_order_,
- device_scale_factor,
- device_viewport_rect,
- device_viewport_rect,
- false);
+ renderer_->DrawFrame(&render_passes_in_draw_order_, device_scale_factor,
+ gfx::ColorSpace(), device_viewport_rect,
+ device_viewport_rect, false);
}
OutputSurfaceMockContext* Context() {
@@ -1995,8 +1906,7 @@ TEST_F(GLRendererTest, DontOverlayWithCopyRequests) {
// list because the render pass is cleaned up by DrawFrame.
EXPECT_CALL(*processor->strategy_, Attempt(_, _, _)).Times(0);
EXPECT_CALL(*validator, AllowCALayerOverlays()).Times(0);
- renderer.DrawFrame(&render_passes_in_draw_order_, 1.f, viewport_rect,
- viewport_rect, false);
+ DrawFrame(&renderer, viewport_rect);
Mock::VerifyAndClearExpectations(processor->strategy_);
Mock::VerifyAndClearExpectations(validator.get());
@@ -2015,8 +1925,7 @@ TEST_F(GLRendererTest, DontOverlayWithCopyRequests) {
.Times(1)
.WillOnce(::testing::Return(false));
EXPECT_CALL(*processor->strategy_, Attempt(_, _, _)).Times(1);
- renderer.DrawFrame(&render_passes_in_draw_order_, 1.f, viewport_rect,
- viewport_rect, false);
+ DrawFrame(&renderer, viewport_rect);
// If the CALayerOverlay path is taken, then the ordinary overlay path should
// not be called.
@@ -2034,8 +1943,7 @@ TEST_F(GLRendererTest, DontOverlayWithCopyRequests) {
.Times(1)
.WillOnce(::testing::Return(true));
EXPECT_CALL(*processor->strategy_, Attempt(_, _, _)).Times(0);
- renderer.DrawFrame(&render_passes_in_draw_order_, 1.f, viewport_rect,
- viewport_rect, false);
+ DrawFrame(&renderer, viewport_rect);
}
class SingleOverlayOnTopProcessor : public OverlayProcessor {
@@ -2157,8 +2065,7 @@ TEST_F(GLRendererTest, OverlaySyncTokensAreProcessed) {
Schedule(1, gfx::OVERLAY_TRANSFORM_NONE, _, viewport_rect,
BoundingRect(uv_top_left, uv_bottom_right))).Times(1);
- renderer.DrawFrame(&render_passes_in_draw_order_, 1.f, viewport_rect,
- viewport_rect, false);
+ DrawFrame(&renderer, viewport_rect);
}
} // namespace
« no previous file with comments | « cc/output/direct_renderer.cc ('k') | cc/output/output_surface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698