diff options
33 files changed, 97 insertions, 664 deletions
diff --git a/cc/BUILD.gn b/cc/BUILD.gn index d3c6b5d..a16441e 100644 --- a/cc/BUILD.gn +++ b/cc/BUILD.gn @@ -321,8 +321,6 @@ component("cc") { "playback/raster_source_helper.h", "playback/transform_display_item.cc", "playback/transform_display_item.h", - "quads/checkerboard_draw_quad.cc", - "quads/checkerboard_draw_quad.h", "quads/content_draw_quad_base.cc", "quads/content_draw_quad_base.h", "quads/debug_border_draw_quad.cc", diff --git a/cc/blink/web_content_layer_impl.cc b/cc/blink/web_content_layer_impl.cc index 8e37faf..e7ed0de 100644 --- a/cc/blink/web_content_layer_impl.cc +++ b/cc/blink/web_content_layer_impl.cc @@ -55,7 +55,6 @@ void WebContentLayerImpl::setDoubleSided(bool double_sided) { } void WebContentLayerImpl::setDrawCheckerboardForMissingTiles(bool enable) { - layer_->layer()->SetDrawCheckerboardForMissingTiles(enable); } void WebContentLayerImpl::PaintContents( diff --git a/cc/blink/web_content_layer_impl.h b/cc/blink/web_content_layer_impl.h index 8d9c5fb..b9ca2b4 100644 --- a/cc/blink/web_content_layer_impl.h +++ b/cc/blink/web_content_layer_impl.h @@ -30,6 +30,7 @@ class WebContentLayerImpl : public blink::WebContentLayer, // WebContentLayer implementation. virtual blink::WebLayer* layer(); virtual void setDoubleSided(bool double_sided); + // TODO(danakj): Remove me. virtual void setDrawCheckerboardForMissingTiles(bool checkerboard); protected: @@ -378,8 +378,6 @@ 'playback/recording_source.h', 'playback/transform_display_item.cc', 'playback/transform_display_item.h', - 'quads/checkerboard_draw_quad.cc', - 'quads/checkerboard_draw_quad.h', 'quads/content_draw_quad_base.cc', 'quads/content_draw_quad_base.h', 'quads/debug_border_draw_quad.cc', diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc index f4e46a8..480f261 100644 --- a/cc/layers/layer.cc +++ b/cc/layers/layer.cc @@ -74,7 +74,6 @@ Layer::Layer(const LayerSettings& settings) double_sided_(true), should_flatten_transform_(true), use_parent_backface_visibility_(false), - draw_checkerboard_for_missing_tiles_(false), force_render_surface_(false), transform_is_invertible_(true), has_render_surface_(false), @@ -1003,14 +1002,6 @@ void Layer::SetScrollBlocksOn(ScrollBlocksOn scroll_blocks_on) { SetNeedsCommit(); } -void Layer::SetDrawCheckerboardForMissingTiles(bool checkerboard) { - DCHECK(IsPropertyChangeAllowed()); - if (draw_checkerboard_for_missing_tiles_ == checkerboard) - return; - draw_checkerboard_for_missing_tiles_ = checkerboard; - SetNeedsCommit(); -} - void Layer::SetForceRenderSurface(bool force) { DCHECK(IsPropertyChangeAllowed()); if (force_render_surface_ == force) @@ -1196,8 +1187,6 @@ void Layer::PushPropertiesTo(LayerImpl* layer) { layer->SetClipTreeIndex(clip_tree_index()); layer->set_offset_to_transform_parent(offset_to_transform_parent_); layer->SetDoubleSided(double_sided_); - layer->SetDrawCheckerboardForMissingTiles( - draw_checkerboard_for_missing_tiles_); layer->SetDrawsContent(DrawsContent()); layer->SetHideLayerAndSubtree(hide_layer_and_subtree_); layer->SetHasRenderSurface(has_render_surface_); diff --git a/cc/layers/layer.h b/cc/layers/layer.h index 28aab35b..ee1a0c7 100644 --- a/cc/layers/layer.h +++ b/cc/layers/layer.h @@ -316,11 +316,6 @@ class CC_EXPORT Layer : public base::RefCounted<Layer>, did_scroll_callback_ = callback; } - void SetDrawCheckerboardForMissingTiles(bool checkerboard); - bool draw_checkerboard_for_missing_tiles() const { - return draw_checkerboard_for_missing_tiles_; - } - void SetForceRenderSurface(bool force_render_surface); bool force_render_surface() const { return force_render_surface_; } @@ -717,7 +712,6 @@ class CC_EXPORT Layer : public base::RefCounted<Layer>, bool double_sided_ : 1; bool should_flatten_transform_ : 1; bool use_parent_backface_visibility_ : 1; - bool draw_checkerboard_for_missing_tiles_ : 1; bool force_render_surface_ : 1; bool transform_is_invertible_ : 1; bool has_render_surface_ : 1; diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc index 7c731db..e370bbe 100644 --- a/cc/layers/layer_impl.cc +++ b/cc/layers/layer_impl.cc @@ -67,7 +67,6 @@ LayerImpl::LayerImpl(LayerTreeImpl* tree_impl, contents_opaque_(false), is_root_for_isolated_group_(false), use_parent_backface_visibility_(false), - draw_checkerboard_for_missing_tiles_(false), draws_content_(false), hide_layer_and_subtree_(false), transform_is_invertible_(true), @@ -547,8 +546,6 @@ void LayerImpl::PushPropertiesTo(LayerImpl* layer) { layer->SetBackgroundColor(background_color_); layer->SetBounds(bounds_); layer->SetDoubleSided(double_sided_); - layer->SetDrawCheckerboardForMissingTiles( - draw_checkerboard_for_missing_tiles_); layer->SetDrawsContent(DrawsContent()); layer->SetHideLayerAndSubtree(hide_layer_and_subtree_); layer->SetHasRenderSurface(!!render_surface()); diff --git a/cc/layers/layer_impl.h b/cc/layers/layer_impl.h index f498a61..cca7396 100644 --- a/cc/layers/layer_impl.h +++ b/cc/layers/layer_impl.h @@ -521,12 +521,6 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver, scroll_blocks_on_ = scroll_blocks_on; } ScrollBlocksOn scroll_blocks_on() const { return scroll_blocks_on_; } - void SetDrawCheckerboardForMissingTiles(bool checkerboard) { - draw_checkerboard_for_missing_tiles_ = checkerboard; - } - bool draw_checkerboard_for_missing_tiles() const { - return draw_checkerboard_for_missing_tiles_; - } InputHandler::ScrollStatus TryScroll( const gfx::PointF& screen_space_point, @@ -783,7 +777,6 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver, bool contents_opaque_ : 1; bool is_root_for_isolated_group_ : 1; bool use_parent_backface_visibility_ : 1; - bool draw_checkerboard_for_missing_tiles_ : 1; bool draws_content_ : 1; bool hide_layer_and_subtree_ : 1; diff --git a/cc/layers/layer_unittest.cc b/cc/layers/layer_unittest.cc index ba8e92d..10b1d14 100644 --- a/cc/layers/layer_unittest.cc +++ b/cc/layers/layer_unittest.cc @@ -630,10 +630,6 @@ TEST_F(LayerTest, CheckPropertyChangeCausesCorrectBehavior) { EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetDoubleSided(false)); EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetTouchEventHandlerRegion( gfx::Rect(10, 10))); - EXPECT_SET_NEEDS_COMMIT( - 1, - test_layer->SetDrawCheckerboardForMissingTiles( - !test_layer->draw_checkerboard_for_missing_tiles())); EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetForceRenderSurface(true)); EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetHideLayerAndSubtree(true)); diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc index 35f3aaa..534c588 100644 --- a/cc/layers/picture_layer_impl.cc +++ b/cc/layers/picture_layer_impl.cc @@ -18,7 +18,6 @@ #include "cc/layers/append_quads_data.h" #include "cc/layers/solid_color_layer_impl.h" #include "cc/output/begin_frame_args.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/picture_draw_quad.h" #include "cc/quads/solid_color_draw_quad.h" diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc index 3ffc676..a89c33d 100644 --- a/cc/output/gl_renderer.cc +++ b/cc/output/gl_renderer.cc @@ -518,10 +518,6 @@ void GLRenderer::DoDrawQuad(DrawingFrame* frame, case DrawQuad::INVALID: NOTREACHED(); break; - case DrawQuad::CHECKERBOARD: - DrawCheckerboardQuad(frame, CheckerboardDrawQuad::MaterialCast(quad), - clip_region); - break; case DrawQuad::DEBUG_BORDER: DrawDebugBorderQuad(frame, DebugBorderDrawQuad::MaterialCast(quad)); break; @@ -564,48 +560,6 @@ void GLRenderer::DoDrawQuad(DrawingFrame* frame, } } -void GLRenderer::DrawCheckerboardQuad(const DrawingFrame* frame, - const CheckerboardDrawQuad* quad, - const gfx::QuadF* clip_region) { - // TODO(enne) For now since checkerboards shouldn't be part of a 3D - // context, clipping regions aren't supported so we skip drawing them - // if this becomes the case. - if (clip_region) { - return; - } - SetBlendEnabled(quad->ShouldDrawWithBlending()); - - const TileCheckerboardProgram* program = GetTileCheckerboardProgram(); - DCHECK(program && (program->initialized() || IsContextLost())); - SetUseProgram(program->program()); - - SkColor color = quad->color; - gl_->Uniform4f(program->fragment_shader().color_location(), - SkColorGetR(color) * (1.0f / 255.0f), - SkColorGetG(color) * (1.0f / 255.0f), - SkColorGetB(color) * (1.0f / 255.0f), 1); - - const int kCheckerboardWidth = 16; - float frequency = 1.0f / kCheckerboardWidth; - - gfx::Rect tile_rect = quad->rect; - float tex_offset_x = - static_cast<int>(tile_rect.x() / quad->scale) % kCheckerboardWidth; - float tex_offset_y = - static_cast<int>(tile_rect.y() / quad->scale) % kCheckerboardWidth; - float tex_scale_x = tile_rect.width() / quad->scale; - float tex_scale_y = tile_rect.height() / quad->scale; - gl_->Uniform4f(program->fragment_shader().tex_transform_location(), - tex_offset_x, tex_offset_y, tex_scale_x, tex_scale_y); - - gl_->Uniform1f(program->fragment_shader().frequency_location(), frequency); - - SetShaderOpacity(quad->shared_quad_state->opacity, - program->fragment_shader().alpha_location()); - DrawQuadGeometry(frame, quad->shared_quad_state->quad_to_target_transform, - quad->rect, program->vertex_shader().matrix_location()); -} - // This function does not handle 3D sorting right now, since the debug border // quads are just drawn as their original quads and not in split pieces. This // results in some debug border quads drawing over foreground quads. @@ -3027,17 +2981,6 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) { bound_geometry_ = binding; } -const GLRenderer::TileCheckerboardProgram* -GLRenderer::GetTileCheckerboardProgram() { - if (!tile_checkerboard_program_.initialized()) { - TRACE_EVENT0("cc", "GLRenderer::checkerboardProgram::initalize"); - tile_checkerboard_program_.Initialize(output_surface_->context_provider(), - TEX_COORD_PRECISION_NA, - SAMPLER_TYPE_NA); - } - return &tile_checkerboard_program_; -} - const GLRenderer::DebugBorderProgram* GLRenderer::GetDebugBorderProgram() { if (!debug_border_program_.initialized()) { TRACE_EVENT0("cc", "GLRenderer::debugBorderProgram::initialize"); @@ -3499,8 +3442,6 @@ void GLRenderer::CleanupSharedObjects() { video_stream_texture_program_[i].Cleanup(gl_); } - tile_checkerboard_program_.Cleanup(gl_); - debug_border_program_.Cleanup(gl_); solid_color_program_.Cleanup(gl_); solid_color_program_aa_.Cleanup(gl_); diff --git a/cc/output/gl_renderer.h b/cc/output/gl_renderer.h index d80e156..f46504d 100644 --- a/cc/output/gl_renderer.h +++ b/cc/output/gl_renderer.h @@ -13,7 +13,6 @@ #include "cc/output/gl_renderer_draw_cache.h" #include "cc/output/program_binding.h" #include "cc/output/renderer.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/io_surface_draw_quad.h" #include "cc/quads/render_pass_draw_quad.h" @@ -154,9 +153,6 @@ class CC_EXPORT GLRenderer : public DirectRenderer { void ClearFramebuffer(DrawingFrame* frame); void SetViewport(); - void DrawCheckerboardQuad(const DrawingFrame* frame, - const CheckerboardDrawQuad* quad, - const gfx::QuadF* clip_region); void DrawDebugBorderQuad(const DrawingFrame* frame, const DebugBorderDrawQuad* quad); static bool IsDefaultBlendMode(SkXfermode::Mode blend_mode) { @@ -294,8 +290,6 @@ class CC_EXPORT GLRenderer : public DirectRenderer { TileProgramSwizzle; typedef ProgramBinding<VertexShaderTile, FragmentShaderRGBATexSwizzleOpaque> TileProgramSwizzleOpaque; - typedef ProgramBinding<VertexShaderPosTex, FragmentShaderCheckerboard> - TileCheckerboardProgram; // Texture shaders. typedef ProgramBinding<VertexShaderPosTexTransform, @@ -362,8 +356,6 @@ class CC_EXPORT GLRenderer : public DirectRenderer { const TileProgramSwizzleAA* GetTileProgramSwizzleAA( TexCoordPrecision precision, SamplerType sampler); - const TileCheckerboardProgram* GetTileCheckerboardProgram(); - const RenderPassProgram* GetRenderPassProgram(TexCoordPrecision precision, BlendMode blend_mode); const RenderPassProgramAA* GetRenderPassProgramAA(TexCoordPrecision precision, @@ -434,8 +426,6 @@ class CC_EXPORT GLRenderer : public DirectRenderer { TileProgramSwizzleAA tile_program_swizzle_aa_[LAST_TEX_COORD_PRECISION + 1][LAST_SAMPLER_TYPE + 1]; - TileCheckerboardProgram tile_checkerboard_program_; - TextureProgram texture_program_[LAST_TEX_COORD_PRECISION + 1][LAST_SAMPLER_TYPE + 1]; NonPremultipliedTextureProgram diff --git a/cc/output/gl_renderer_unittest.cc b/cc/output/gl_renderer_unittest.cc index 4b133c9..c3866d7 100644 --- a/cc/output/gl_renderer_unittest.cc +++ b/cc/output/gl_renderer_unittest.cc @@ -117,7 +117,6 @@ class GLRendererShaderPixelTest : public GLRendererPixelTest { } void TestBasicShaders() { - EXPECT_PROGRAM_VALID(renderer()->GetTileCheckerboardProgram()); EXPECT_PROGRAM_VALID(renderer()->GetDebugBorderProgram()); EXPECT_PROGRAM_VALID(renderer()->GetSolidColorProgram()); EXPECT_PROGRAM_VALID(renderer()->GetSolidColorProgramAA()); @@ -1015,7 +1014,7 @@ TEST_F(GLRendererTest, ActiveTextureState) { // The remaining quads also use GL_LINEAR because nearest neighbor // filtering is currently only used with tile quads. - EXPECT_CALL(*context, drawElements(_, _, _, _)).Times(7); + EXPECT_CALL(*context, drawElements(_, _, _, _)).Times(6); } gfx::Rect viewport_rect(100, 100); diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc index 6ac9b1c..1820ad9 100644 --- a/cc/output/overlay_unittest.cc +++ b/cc/output/overlay_unittest.cc @@ -11,8 +11,8 @@ #include "cc/output/overlay_processor.h" #include "cc/output/overlay_strategy_single_on_top.h" #include "cc/output/overlay_strategy_underlay.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/render_pass.h" +#include "cc/quads/solid_color_draw_quad.h" #include "cc/quads/stream_video_draw_quad.h" #include "cc/quads/texture_draw_quad.h" #include "cc/resources/resource_provider.h" @@ -238,20 +238,20 @@ StreamVideoDrawQuad* CreateFullscreenCandidateVideoQuad( render_pass, kOverlayRect, transform); } -void CreateCheckeredQuadAt(ResourceProvider* resource_provider, - const SharedQuadState* shared_quad_state, - RenderPass* render_pass, - const gfx::Rect& rect) { - CheckerboardDrawQuad* checkerboard_quad = - render_pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_quad->SetNew(shared_quad_state, rect, rect, SkColor(), 1.f); +void CreateOpaqueQuadAt(ResourceProvider* resource_provider, + const SharedQuadState* shared_quad_state, + RenderPass* render_pass, + const gfx::Rect& rect) { + SolidColorDrawQuad* color_quad = + render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + color_quad->SetNew(shared_quad_state, rect, rect, SK_ColorBLACK, false); } -void CreateFullscreenCheckeredQuad(ResourceProvider* resource_provider, - const SharedQuadState* shared_quad_state, - RenderPass* render_pass) { - CreateCheckeredQuadAt( - resource_provider, shared_quad_state, render_pass, kOverlayRect); +void CreateFullscreenOpaqueQuad(ResourceProvider* resource_provider, + const SharedQuadState* shared_quad_state, + RenderPass* render_pass) { + CreateOpaqueQuadAt(resource_provider, shared_quad_state, render_pass, + kOverlayRect); } static void CompareRenderPassLists(const RenderPassList& expected_list, @@ -351,12 +351,10 @@ TEST_F(SingleOverlayOnTopTest, SuccessfullOverlay) { unsigned original_resource_id = original_quad->resource_id(); // Add something behind it. - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); RenderPassList pass_list; pass_list.push_back(pass.Pass()); @@ -384,12 +382,10 @@ TEST_F(SingleOverlayOnTopTest, SuccessfullOverlay) { TEST_F(SingleOverlayOnTopTest, NoCandidates) { scoped_ptr<RenderPass> pass = CreateRenderPass(); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); RenderPassList pass_list; pass_list.push_back(pass.Pass()); @@ -406,12 +402,10 @@ TEST_F(SingleOverlayOnTopTest, NoCandidates) { TEST_F(SingleOverlayOnTopTest, OccludedCandidates) { scoped_ptr<RenderPass> pass = CreateRenderPass(); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); CreateFullscreenCandidateQuad(resource_provider_.get(), pass->shared_quad_state_list.back(), @@ -441,12 +435,10 @@ TEST_F(SingleOverlayOnTopTest, MultipleRenderPasses) { pass.get()); // Add something behind it. - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); pass_list.push_back(pass.Pass()); @@ -669,10 +661,9 @@ TEST_F(SingleOverlayOnTopTest, Allow270DegreeRotation) { TEST_F(SingleOverlayOnTopTest, AllowNotTopIfNotOccluded) { scoped_ptr<RenderPass> pass = CreateRenderPass(); - CreateCheckeredQuadAt(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get(), - kOverlayTopLeftRect); + CreateOpaqueQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + kOverlayTopLeftRect); CreateCandidateQuadAt(resource_provider_.get(), pass->shared_quad_state_list.back(), pass.get(), @@ -850,9 +841,8 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoYMirrorTransform) { TEST_F(UnderlayTest, OverlayLayerUnderMainLayer) { scoped_ptr<RenderPass> pass = CreateRenderPass(); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); CreateCandidateQuadAt(resource_provider_.get(), pass->shared_quad_state_list.back(), pass.get(), kOverlayBottomRightRect); @@ -877,9 +867,8 @@ TEST_F(UnderlayTest, AllowOnTop) { pass->shared_quad_state_list.back(), pass.get()); pass->CreateAndAppendSharedQuadState()->opacity = 0.5f; - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); RenderPassList pass_list; pass_list.push_back(pass.Pass()); @@ -999,12 +988,10 @@ TEST_F(GLRendererWithOverlaysTest, OverlayQuadNotDrawn) { pass->shared_quad_state_list.back(), pass.get()); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); RenderPassList pass_list; pass_list.push_back(pass.Pass()); @@ -1034,12 +1021,10 @@ TEST_F(GLRendererWithOverlaysTest, OccludedQuadInUnderlay) { scoped_ptr<RenderPass> pass = CreateRenderPass(); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); CreateFullscreenCandidateQuad(resource_provider_.get(), pass->shared_quad_state_list.back(), @@ -1074,12 +1059,10 @@ TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) { pass->shared_quad_state_list.back(), pass.get()); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); - CreateFullscreenCheckeredQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); + CreateFullscreenOpaqueQuad(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get()); RenderPassList pass_list; pass_list.push_back(pass.Pass()); diff --git a/cc/output/renderer_pixeltest.cc b/cc/output/renderer_pixeltest.cc index 34fe8ae..608e3a5 100644 --- a/cc/output/renderer_pixeltest.cc +++ b/cc/output/renderer_pixeltest.cc @@ -2937,109 +2937,6 @@ TYPED_TEST(RendererPixelTest, WrapModeRepeat) { FuzzyPixelOffByOneComparator(true))); } -TYPED_TEST(RendererPixelTest, Checkerboards) { - gfx::Rect rect(this->device_viewport_size_); - - RenderPassId id(1, 1); - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); - - SharedQuadState* shared_state = - CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); - - // The color's alpha value is not used. - SkColor color1 = SK_ColorGREEN; - color1 = SkColorSetA(color1, 0); - SkColor color2 = SK_ColorBLUE; - color2 = SkColorSetA(color2, 0); - - gfx::Rect content_rect(rect); - - gfx::Rect top_left(content_rect); - gfx::Rect top_right(content_rect); - gfx::Rect bottom_left(content_rect); - gfx::Rect bottom_right(content_rect); - // The format is Inset(left, top, right, bottom). - top_left.Inset(0, 0, content_rect.width() / 2, content_rect.height() / 2); - top_right.Inset(content_rect.width() / 2, 0, 0, content_rect.height() / 2); - bottom_left.Inset(0, content_rect.height() / 2, content_rect.width() / 2, 0); - bottom_right.Inset(content_rect.width() / 2, content_rect.height() / 2, 0, 0); - - // Appends checkerboard quads with a scale of 1. - CheckerboardDrawQuad* quad = - pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - quad->SetNew(shared_state, top_left, top_left, color1, 1.f); - quad = pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - quad->SetNew(shared_state, top_right, top_right, color2, 1.f); - quad = pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - quad->SetNew(shared_state, bottom_left, bottom_left, color2, 1.f); - quad = pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - quad->SetNew(shared_state, bottom_right, bottom_right, color1, 1.f); - - RenderPassList pass_list; - pass_list.push_back(pass.Pass()); - - base::FilePath::StringType path = - IsSoftwareRenderer<TypeParam>() - ? FILE_PATH_LITERAL("four_blue_green_checkers.png") - : FILE_PATH_LITERAL("checkers.png"); - EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(path), - ExactPixelComparator(true))); -} - -TYPED_TEST(RendererPixelTest, CheckerboardsScaled) { - gfx::Rect rect(this->device_viewport_size_); - - RenderPassId id(1, 1); - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); - - gfx::Transform scale; - scale.Scale(2.f, 2.f); - - SharedQuadState* shared_state = - CreateTestSharedQuadState(scale, rect, pass.get()); - - // The color's alpha value is not used. - SkColor color1 = SK_ColorGREEN; - color1 = SkColorSetA(color1, 0); - SkColor color2 = SK_ColorBLUE; - color2 = SkColorSetA(color2, 0); - - gfx::Rect content_rect(rect); - content_rect.Inset(0, 0, rect.width() / 2, rect.height() / 2); - - gfx::Rect top_left(content_rect); - gfx::Rect top_right(content_rect); - gfx::Rect bottom_left(content_rect); - gfx::Rect bottom_right(content_rect); - // The format is Inset(left, top, right, bottom). - top_left.Inset(0, 0, content_rect.width() / 2, content_rect.height() / 2); - top_right.Inset(content_rect.width() / 2, 0, 0, content_rect.height() / 2); - bottom_left.Inset(0, content_rect.height() / 2, content_rect.width() / 2, 0); - bottom_right.Inset(content_rect.width() / 2, content_rect.height() / 2, 0, 0); - - // Appends checkerboard quads with a scale of 2, and a shared quad state - // with a scale of 2. The checkers should be scaled by 2 * 2 = 4. - CheckerboardDrawQuad* quad = - pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - quad->SetNew(shared_state, top_left, top_left, color1, 2.f); - quad = pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - quad->SetNew(shared_state, top_right, top_right, color2, 2.f); - quad = pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - quad->SetNew(shared_state, bottom_left, bottom_left, color2, 2.f); - quad = pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - quad->SetNew(shared_state, bottom_right, bottom_right, color1, 2.f); - - RenderPassList pass_list; - pass_list.push_back(pass.Pass()); - - base::FilePath::StringType path = - IsSoftwareRenderer<TypeParam>() - ? FILE_PATH_LITERAL("four_blue_green_checkers.png") - : FILE_PATH_LITERAL("checkers_big.png"); - EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(path), - ExactPixelComparator(true))); -} - #endif // !defined(OS_ANDROID) } // namespace diff --git a/cc/output/shader.cc b/cc/output/shader.cc index 15ad7e0..4a877ae 100644 --- a/cc/output/shader.cc +++ b/cc/output/shader.cc @@ -2253,64 +2253,4 @@ std::string FragmentShaderColorAA::GetShaderBody() { }); } -FragmentShaderCheckerboard::FragmentShaderCheckerboard() - : alpha_location_(-1), - tex_transform_location_(-1), - frequency_location_(-1) { -} - -void FragmentShaderCheckerboard::Init(GLES2Interface* context, - unsigned program, - int* base_uniform_index) { - static const char* uniforms[] = { - "alpha", "texTransform", "frequency", "color", - }; - int locations[arraysize(uniforms)]; - - GetProgramUniformLocations(context, - program, - arraysize(uniforms), - uniforms, - locations, - base_uniform_index); - alpha_location_ = locations[0]; - tex_transform_location_ = locations[1]; - frequency_location_ = locations[2]; - color_location_ = locations[3]; -} - -std::string FragmentShaderCheckerboard::GetShaderString( - TexCoordPrecision precision, - SamplerType sampler) const { - return FRAGMENT_SHADER(GetShaderHead(), GetShaderBody()); -} - -std::string FragmentShaderCheckerboard::GetShaderHead() { - return SHADER0([]() { - precision mediump float; - precision mediump int; - varying vec2 v_texCoord; - uniform float alpha; - uniform float frequency; - uniform vec4 texTransform; - uniform vec4 color; - }); -} - -std::string FragmentShaderCheckerboard::GetShaderBody() { - // Shader based on Example 13-17 of "OpenGL ES 2.0 Programming Guide" - // by Munshi, Ginsburg, Shreiner. - return SHADER0([]() { - void main() { - vec4 color1 = vec4(1.0, 1.0, 1.0, 1.0); - vec4 color2 = color; - vec2 texCoord = - clamp(v_texCoord, 0.0, 1.0) * texTransform.zw + texTransform.xy; - vec2 coord = mod(floor(texCoord * frequency * 2.0), 2.0); - float picker = abs(coord.x - coord.y); // NOLINT - gl_FragColor = mix(color1, color2, picker) * alpha; - } - }); -} - } // namespace cc diff --git a/cc/output/shader.h b/cc/output/shader.h index d692a12..326eb67 100644 --- a/cc/output/shader.h +++ b/cc/output/shader.h @@ -868,31 +868,6 @@ class FragmentShaderColorAA : public FragmentTexBlendMode { DISALLOW_COPY_AND_ASSIGN(FragmentShaderColorAA); }; -class FragmentShaderCheckerboard : public FragmentTexBlendMode { - public: - FragmentShaderCheckerboard(); - std::string GetShaderString( - TexCoordPrecision precision, SamplerType sampler) const; - static std::string GetShaderHead(); - static std::string GetShaderBody(); - - void Init(gpu::gles2::GLES2Interface* context, - unsigned program, - int* base_uniform_index); - int alpha_location() const { return alpha_location_; } - int tex_transform_location() const { return tex_transform_location_; } - int frequency_location() const { return frequency_location_; } - int color_location() const { return color_location_; } - - private: - int alpha_location_; - int tex_transform_location_; - int frequency_location_; - int color_location_; - - DISALLOW_COPY_AND_ASSIGN(FragmentShaderCheckerboard); -}; - } // namespace cc #endif // CC_OUTPUT_SHADER_H_ diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc index 1f926c5..248ee2c 100644 --- a/cc/output/software_renderer.cc +++ b/cc/output/software_renderer.cc @@ -13,7 +13,6 @@ #include "cc/output/output_surface.h" #include "cc/output/render_surface_filters.h" #include "cc/output/software_output_device.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/picture_draw_quad.h" #include "cc/quads/render_pass_draw_quad.h" @@ -303,14 +302,6 @@ void SoftwareRenderer::DoDrawQuad(DrawingFrame* frame, } switch (quad->material) { - case DrawQuad::CHECKERBOARD: - // TODO(enne) For now since checkerboards shouldn't be part of a 3D - // context, clipping regions aren't supported so we skip drawing them - // if this becomes the case. - if (!draw_region) { - DrawCheckerboardQuad(frame, CheckerboardDrawQuad::MaterialCast(quad)); - } - break; case DrawQuad::DEBUG_BORDER: DrawDebugBorderQuad(frame, DebugBorderDrawQuad::MaterialCast(quad)); break; @@ -349,16 +340,6 @@ void SoftwareRenderer::DoDrawQuad(DrawingFrame* frame, } } -void SoftwareRenderer::DrawCheckerboardQuad(const DrawingFrame* frame, - const CheckerboardDrawQuad* quad) { - gfx::RectF visible_quad_vertex_rect = MathUtil::ScaleRectProportional( - QuadVertexRect(), quad->rect, quad->visible_rect); - current_paint_.setColor(quad->color); - current_paint_.setAlpha(quad->shared_quad_state->opacity); - current_canvas_->drawRect(gfx::RectFToSkRect(visible_quad_vertex_rect), - current_paint_); -} - void SoftwareRenderer::DrawDebugBorderQuad(const DrawingFrame* frame, const DebugBorderDrawQuad* quad) { // We need to apply the matrix manually to have pixel-sized stroke width. diff --git a/cc/quads/checkerboard_draw_quad.cc b/cc/quads/checkerboard_draw_quad.cc deleted file mode 100644 index 4cd3c2a..0000000 --- a/cc/quads/checkerboard_draw_quad.cc +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "cc/quads/checkerboard_draw_quad.h" - -#include "base/logging.h" -#include "base/trace_event/trace_event_argument.h" -#include "base/values.h" - -namespace cc { - -CheckerboardDrawQuad::CheckerboardDrawQuad() : color(0), scale(0.f) { -} - -void CheckerboardDrawQuad::SetNew(const SharedQuadState* shared_quad_state, - const gfx::Rect& rect, - const gfx::Rect& visible_rect, - SkColor color, - float scale) { - gfx::Rect opaque_rect = SkColorGetA(color) == 255 ? rect : gfx::Rect(); - bool needs_blending = false; - DrawQuad::SetAll(shared_quad_state, DrawQuad::CHECKERBOARD, rect, opaque_rect, - visible_rect, needs_blending); - this->color = color; - this->scale = scale; -} - -void CheckerboardDrawQuad::SetAll(const SharedQuadState* shared_quad_state, - const gfx::Rect& rect, - const gfx::Rect& opaque_rect, - const gfx::Rect& visible_rect, - bool needs_blending, - SkColor color, - float scale) { - DrawQuad::SetAll(shared_quad_state, DrawQuad::CHECKERBOARD, rect, opaque_rect, - visible_rect, needs_blending); - this->color = color; - this->scale = scale; -} - -const CheckerboardDrawQuad* CheckerboardDrawQuad::MaterialCast( - const DrawQuad* quad) { - DCHECK(quad->material == DrawQuad::CHECKERBOARD); - return static_cast<const CheckerboardDrawQuad*>(quad); -} - -void CheckerboardDrawQuad::ExtendValue( - base::trace_event::TracedValue* value) const { - value->SetInteger("color", color); - value->SetDouble("scale", scale); -} - -} // namespace cc diff --git a/cc/quads/checkerboard_draw_quad.h b/cc/quads/checkerboard_draw_quad.h deleted file mode 100644 index fe79367..0000000 --- a/cc/quads/checkerboard_draw_quad.h +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CC_QUADS_CHECKERBOARD_DRAW_QUAD_H_ -#define CC_QUADS_CHECKERBOARD_DRAW_QUAD_H_ - -#include "base/memory/scoped_ptr.h" -#include "cc/base/cc_export.h" -#include "cc/quads/draw_quad.h" -#include "third_party/skia/include/core/SkColor.h" - -namespace cc { - -class CC_EXPORT CheckerboardDrawQuad : public DrawQuad { - public: - CheckerboardDrawQuad(); - - void SetNew(const SharedQuadState* shared_quad_state, - const gfx::Rect& rect, - const gfx::Rect& visible_rect, - SkColor color, - float scale); - - void SetAll(const SharedQuadState* shared_quad_state, - const gfx::Rect& rect, - const gfx::Rect& opaque_rect, - const gfx::Rect& visible_rect, - bool needs_blending, - SkColor color, - float scale); - - SkColor color; - float scale; - - static const CheckerboardDrawQuad* MaterialCast(const DrawQuad*); - - private: - void ExtendValue(base::trace_event::TracedValue* value) const override; -}; - -} // namespace cc - -#endif // CC_QUADS_CHECKERBOARD_DRAW_QUAD_H_ diff --git a/cc/quads/draw_quad.cc b/cc/quads/draw_quad.cc index 606d7ab..0bdcdc7 100644 --- a/cc/quads/draw_quad.cc +++ b/cc/quads/draw_quad.cc @@ -9,7 +9,6 @@ #include "base/values.h" #include "cc/base/math_util.h" #include "cc/debug/traced_value.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/io_surface_draw_quad.h" #include "cc/quads/picture_draw_quad.h" diff --git a/cc/quads/draw_quad.h b/cc/quads/draw_quad.h index df3bc12..10b0e40 100644 --- a/cc/quads/draw_quad.h +++ b/cc/quads/draw_quad.h @@ -35,7 +35,6 @@ class CC_EXPORT DrawQuad { public: enum Material { INVALID, - CHECKERBOARD, DEBUG_BORDER, IO_SURFACE_CONTENT, PICTURE_CONTENT, diff --git a/cc/quads/draw_quad_unittest.cc b/cc/quads/draw_quad_unittest.cc index 833f388..1b1e961 100644 --- a/cc/quads/draw_quad_unittest.cc +++ b/cc/quads/draw_quad_unittest.cc @@ -10,7 +10,6 @@ #include "base/compiler_specific.h" #include "cc/base/math_util.h" #include "cc/output/filter_operations.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/io_surface_draw_quad.h" #include "cc/quads/largest_draw_quad.h" @@ -361,24 +360,6 @@ void CompareDrawQuad(DrawQuad* quad, } \ SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a); -TEST(DrawQuadTest, CopyCheckerboardDrawQuad) { - gfx::Rect visible_rect(40, 50, 30, 20); - SkColor color = 0xfabb0011; - float scale = 2.3f; - CREATE_SHARED_STATE(); - - CREATE_QUAD_3_NEW(CheckerboardDrawQuad, visible_rect, color, scale); - EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material); - EXPECT_EQ(visible_rect, copy_quad->visible_rect); - EXPECT_EQ(color, copy_quad->color); - EXPECT_EQ(scale, copy_quad->scale); - - CREATE_QUAD_2_ALL(CheckerboardDrawQuad, color, scale); - EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material); - EXPECT_EQ(color, copy_quad->color); - EXPECT_EQ(scale, copy_quad->scale); -} - TEST(DrawQuadTest, CopyDebugBorderDrawQuad) { gfx::Rect visible_rect(40, 50, 30, 20); SkColor color = 0xfabb0011; @@ -741,16 +722,6 @@ class DrawQuadIteratorTest : public testing::Test { int num_resources_; }; -TEST_F(DrawQuadIteratorTest, CheckerboardDrawQuad) { - gfx::Rect visible_rect(40, 50, 30, 20); - SkColor color = 0xfabb0011; - float scale = 3.2f; - - CREATE_SHARED_STATE(); - CREATE_QUAD_3_NEW(CheckerboardDrawQuad, visible_rect, color, scale); - EXPECT_EQ(0, IterateAndCount(quad_new)); -} - TEST_F(DrawQuadIteratorTest, DebugBorderDrawQuad) { gfx::Rect visible_rect(40, 50, 30, 20); SkColor color = 0xfabb0011; @@ -965,9 +936,6 @@ TEST(DrawQuadTest, LargestQuadType) { for (int i = 0; i <= DrawQuad::MATERIAL_LAST; ++i) { switch (static_cast<DrawQuad::Material>(i)) { - case DrawQuad::CHECKERBOARD: - largest = std::max(largest, sizeof(CheckerboardDrawQuad)); - break; case DrawQuad::DEBUG_BORDER: largest = std::max(largest, sizeof(DebugBorderDrawQuad)); break; @@ -1012,9 +980,6 @@ TEST(DrawQuadTest, LargestQuadType) { LOG(ERROR) << "kLargestDrawQuad " << LargestDrawQuadSize(); for (int i = 0; i <= DrawQuad::MATERIAL_LAST; ++i) { switch (static_cast<DrawQuad::Material>(i)) { - case DrawQuad::CHECKERBOARD: - LOG(ERROR) << "CheckerboardDrawQuad " << sizeof(CheckerboardDrawQuad); - break; case DrawQuad::DEBUG_BORDER: LOG(ERROR) << "DebugBorderDrawQuad " << sizeof(DebugBorderDrawQuad); break; diff --git a/cc/quads/largest_draw_quad.cc b/cc/quads/largest_draw_quad.cc index 894be0f..b652638 100644 --- a/cc/quads/largest_draw_quad.cc +++ b/cc/quads/largest_draw_quad.cc @@ -6,7 +6,6 @@ #include <algorithm> -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/io_surface_draw_quad.h" #include "cc/quads/picture_draw_quad.h" @@ -33,9 +32,6 @@ size_t LargestDrawQuadSize() { // Use compile assert to make sure largest is actually larger than all other // type of draw quads. - static_assert(sizeof(CheckerboardDrawQuad) <= kLargestDrawQuadSize, - "Largest Draw Quad size needs update. CheckerboardDrawQuad is " - "currently largest."); static_assert(sizeof(DebugBorderDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. DebugBorderDrawQuad is " "currently largest."); diff --git a/cc/quads/render_pass.cc b/cc/quads/render_pass.cc index 5c4d98a..637f565 100644 --- a/cc/quads/render_pass.cc +++ b/cc/quads/render_pass.cc @@ -12,7 +12,6 @@ #include "cc/base/math_util.h" #include "cc/debug/traced_value.h" #include "cc/output/copy_output_request.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/draw_quad.h" #include "cc/quads/io_surface_draw_quad.h" @@ -226,9 +225,6 @@ DrawQuad* RenderPass::CopyFromAndAppendDrawQuad( const DrawQuad* quad, const SharedQuadState* shared_quad_state) { switch (quad->material) { - case DrawQuad::CHECKERBOARD: - CopyFromAndAppendTypedDrawQuad<CheckerboardDrawQuad>(quad); - break; case DrawQuad::DEBUG_BORDER: CopyFromAndAppendTypedDrawQuad<DebugBorderDrawQuad>(quad); break; diff --git a/cc/quads/render_pass_unittest.cc b/cc/quads/render_pass_unittest.cc index 5ab8c31..5661aa0 100644 --- a/cc/quads/render_pass_unittest.cc +++ b/cc/quads/render_pass_unittest.cc @@ -7,8 +7,8 @@ #include "cc/base/math_util.h" #include "cc/base/scoped_ptr_vector.h" #include "cc/output/copy_output_request.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/render_pass_draw_quad.h" +#include "cc/quads/solid_color_draw_quad.h" #include "cc/test/geometry_test_utils.h" #include "cc/test/render_pass_test_common.h" #include "testing/gtest/include/gtest/gtest.h" @@ -92,10 +92,10 @@ TEST(RenderPassTest, CopyShouldBeIdenticalExceptIdAndQuads) { SkXfermode::kSrcOver_Mode, 0); - CheckerboardDrawQuad* checkerboard_quad = - pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_quad->SetNew(pass->shared_quad_state_list.back(), gfx::Rect(), - gfx::Rect(), SkColor(), 1.f); + SolidColorDrawQuad* color_quad = + pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + color_quad->SetNew(pass->shared_quad_state_list.back(), gfx::Rect(), + gfx::Rect(), SkColor(), false); RenderPassId new_id(63, 4); @@ -143,17 +143,17 @@ TEST(RenderPassTest, CopyAllShouldBeIdentical) { SkXfermode::kSrcOver_Mode, 0); - CheckerboardDrawQuad* checkerboard_quad1 = - pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_quad1->SetNew(pass->shared_quad_state_list.back(), - gfx::Rect(1, 1, 1, 1), gfx::Rect(1, 1, 1, 1), - SkColor(), 1.f); + SolidColorDrawQuad* color_quad1 = + pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + color_quad1->SetNew(pass->shared_quad_state_list.back(), + gfx::Rect(1, 1, 1, 1), gfx::Rect(1, 1, 1, 1), SkColor(), + false); - CheckerboardDrawQuad* checkerboard_quad2 = - pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_quad2->SetNew(pass->shared_quad_state_list.back(), - gfx::Rect(2, 2, 2, 2), gfx::Rect(2, 2, 2, 2), - SkColor(), 1.f); + SolidColorDrawQuad* color_quad2 = + pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + color_quad2->SetNew(pass->shared_quad_state_list.back(), + gfx::Rect(2, 2, 2, 2), gfx::Rect(2, 2, 2, 2), SkColor(), + false); // And two quads using another shared state. SharedQuadState* shared_state2 = pass->CreateAndAppendSharedQuadState(); @@ -166,17 +166,17 @@ TEST(RenderPassTest, CopyAllShouldBeIdentical) { SkXfermode::kSrcOver_Mode, 0); - CheckerboardDrawQuad* checkerboard_quad3 = - pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_quad3->SetNew(pass->shared_quad_state_list.back(), - gfx::Rect(3, 3, 3, 3), gfx::Rect(3, 3, 3, 3), - SkColor(), 1.f); + SolidColorDrawQuad* color_quad3 = + pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + color_quad3->SetNew(pass->shared_quad_state_list.back(), + gfx::Rect(3, 3, 3, 3), gfx::Rect(3, 3, 3, 3), SkColor(), + false); - CheckerboardDrawQuad* checkerboard_quad4 = - pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_quad4->SetNew(pass->shared_quad_state_list.back(), - gfx::Rect(4, 4, 4, 4), gfx::Rect(4, 4, 4, 4), - SkColor(), 1.f); + SolidColorDrawQuad* color_quad4 = + pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + color_quad4->SetNew(pass->shared_quad_state_list.back(), + gfx::Rect(4, 4, 4, 4), gfx::Rect(4, 4, 4, 4), SkColor(), + false); // A second render pass with a quad. RenderPassId contrib_id(4, 1); @@ -204,11 +204,11 @@ TEST(RenderPassTest, CopyAllShouldBeIdentical) { SkXfermode::kSrcOver_Mode, 0); - CheckerboardDrawQuad* contrib_quad = - contrib->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); + SolidColorDrawQuad* contrib_quad = + contrib->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); contrib_quad->SetNew(contrib->shared_quad_state_list.back(), gfx::Rect(3, 3, 3, 3), gfx::Rect(3, 3, 3, 3), SkColor(), - 1.f); + false); // And a RenderPassDrawQuad for the contributing pass. scoped_ptr<RenderPassDrawQuad> pass_quad = @@ -262,11 +262,11 @@ TEST(RenderPassTest, CopyAllWithCulledQuads) { SkXfermode::kSrcOver_Mode, 0); - CheckerboardDrawQuad* checkerboard_quad1 = - pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_quad1->SetNew(pass->shared_quad_state_list.back(), - gfx::Rect(1, 1, 1, 1), gfx::Rect(1, 1, 1, 1), - SkColor(), 1.f); + SolidColorDrawQuad* color_quad1 = + pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + color_quad1->SetNew(pass->shared_quad_state_list.back(), + gfx::Rect(1, 1, 1, 1), gfx::Rect(1, 1, 1, 1), SkColor(), + false); // A shared state with no quads, they were culled. SharedQuadState* shared_state2 = pass->CreateAndAppendSharedQuadState(); @@ -301,11 +301,11 @@ TEST(RenderPassTest, CopyAllWithCulledQuads) { SkXfermode::kSrcOver_Mode, 0); - CheckerboardDrawQuad* checkerboard_quad2 = - pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_quad2->SetNew(pass->shared_quad_state_list.back(), - gfx::Rect(3, 3, 3, 3), gfx::Rect(3, 3, 3, 3), - SkColor(), 1.f); + SolidColorDrawQuad* color_quad2 = + pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + color_quad2->SetNew(pass->shared_quad_state_list.back(), + gfx::Rect(3, 3, 3, 3), gfx::Rect(3, 3, 3, 3), SkColor(), + false); pass_list.push_back(pass.Pass()); diff --git a/cc/test/render_pass_test_common.cc b/cc/test/render_pass_test_common.cc index 6fda536..61d4a06 100644 --- a/cc/test/render_pass_test_common.cc +++ b/cc/test/render_pass_test_common.cc @@ -5,7 +5,6 @@ #include "cc/test/render_pass_test_common.h" #include "base/bind.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/io_surface_draw_quad.h" #include "cc/quads/render_pass_draw_quad.h" @@ -91,10 +90,6 @@ void TestRenderPass::AppendOneOfEveryQuadType( SkXfermode::kSrcOver_Mode, 0); - CheckerboardDrawQuad* checkerboard_quad = - this->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_quad->SetNew(shared_state, rect, visible_rect, SK_ColorRED, 1.f); - DebugBorderDrawQuad* debug_border_quad = this->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); debug_border_quad->SetNew(shared_state, rect, visible_rect, SK_ColorRED, 1); diff --git a/components/view_manager/public/interfaces/quads.mojom b/components/view_manager/public/interfaces/quads.mojom index 1ed8eaa..d080404 100644 --- a/components/view_manager/public/interfaces/quads.mojom +++ b/components/view_manager/public/interfaces/quads.mojom @@ -109,8 +109,7 @@ struct YUVVideoQuadState { }; enum Material { - CHECKERBOARD = 1, - DEBUG_BORDER, + DEBUG_BORDER = 1, IO_SURFACE_CONTENT, PICTURE_CONTENT, RENDER_PASS, diff --git a/content/common/cc_messages.cc b/content/common/cc_messages.cc index 1df3545..1c1b5e0 100644 --- a/content/common/cc_messages.cc +++ b/content/common/cc_messages.cc @@ -317,9 +317,6 @@ void ParamTraits<cc::RenderPass>::Write( << " opaque_rect: " << quad->opaque_rect.ToString(); switch (quad->material) { - case cc::DrawQuad::CHECKERBOARD: - WriteParam(m, *cc::CheckerboardDrawQuad::MaterialCast(quad)); - break; case cc::DrawQuad::DEBUG_BORDER: WriteParam(m, *cc::DebugBorderDrawQuad::MaterialCast(quad)); break; @@ -437,9 +434,6 @@ bool ParamTraits<cc::RenderPass>::Read(const Message* m, cc::DrawQuad* draw_quad = NULL; switch (material) { - case cc::DrawQuad::CHECKERBOARD: - draw_quad = ReadDrawQuad<cc::CheckerboardDrawQuad>(m, iter, p); - break; case cc::DrawQuad::DEBUG_BORDER: draw_quad = ReadDrawQuad<cc::DebugBorderDrawQuad>(m, iter, p); break; @@ -533,9 +527,6 @@ void ParamTraits<cc::RenderPass>::Log( if (quad != p.quad_list.front()) l->append(", "); switch (quad->material) { - case cc::DrawQuad::CHECKERBOARD: - LogParam(*cc::CheckerboardDrawQuad::MaterialCast(quad), l); - break; case cc::DrawQuad::DEBUG_BORDER: LogParam(*cc::DebugBorderDrawQuad::MaterialCast(quad), l); break; diff --git a/content/common/cc_messages.h b/content/common/cc_messages.h index 938dcc4..fcf72fe 100644 --- a/content/common/cc_messages.h +++ b/content/common/cc_messages.h @@ -9,7 +9,6 @@ #include "cc/output/compositor_frame_ack.h" #include "cc/output/filter_operation.h" #include "cc/output/viewport_selection_bound.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/draw_quad.h" #include "cc/quads/io_surface_draw_quad.h" @@ -186,12 +185,6 @@ IPC_STRUCT_TRAITS_BEGIN(cc::DrawQuad) IPC_STRUCT_TRAITS_MEMBER(resources) IPC_STRUCT_TRAITS_END() -IPC_STRUCT_TRAITS_BEGIN(cc::CheckerboardDrawQuad) - IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad) - IPC_STRUCT_TRAITS_MEMBER(color) - IPC_STRUCT_TRAITS_MEMBER(scale) -IPC_STRUCT_TRAITS_END() - IPC_STRUCT_TRAITS_BEGIN(cc::DebugBorderDrawQuad) IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad) IPC_STRUCT_TRAITS_MEMBER(color) diff --git a/content/common/cc_messages_unittest.cc b/content/common/cc_messages_unittest.cc index 647aeab..ffe737f 100644 --- a/content/common/cc_messages_unittest.cc +++ b/content/common/cc_messages_unittest.cc @@ -19,7 +19,6 @@ #include "base/file_descriptor_posix.h" #endif -using cc::CheckerboardDrawQuad; using cc::DelegatedFrameData; using cc::DebugBorderDrawQuad; using cc::DrawQuad; @@ -79,10 +78,6 @@ class CCMessagesTest : public testing::Test { Compare(a->shared_quad_state, b->shared_quad_state); switch (a->material) { - case DrawQuad::CHECKERBOARD: - Compare(CheckerboardDrawQuad::MaterialCast(a), - CheckerboardDrawQuad::MaterialCast(b)); - break; case DrawQuad::DEBUG_BORDER: Compare(DebugBorderDrawQuad::MaterialCast(a), DebugBorderDrawQuad::MaterialCast(b)); @@ -128,11 +123,6 @@ class CCMessagesTest : public testing::Test { } } - void Compare(const CheckerboardDrawQuad* a, const CheckerboardDrawQuad* b) { - EXPECT_EQ(a->color, b->color); - EXPECT_EQ(a->scale, b->scale); - } - void Compare(const DebugBorderDrawQuad* a, const DebugBorderDrawQuad* b) { EXPECT_EQ(a->color, b->color); EXPECT_EQ(a->width, b->width); @@ -327,15 +317,6 @@ TEST_F(CCMessagesTest, AllQuads) { pass_cmp->CreateAndAppendSharedQuadState(); shared_state1_cmp->CopyFrom(shared_state1_in); - CheckerboardDrawQuad* checkerboard_in = - pass_in->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); - checkerboard_in->SetAll(shared_state1_in, arbitrary_rect1, - arbitrary_rect2_inside_rect1, - arbitrary_rect1_inside_rect1, arbitrary_bool1, - arbitrary_color, arbitrary_float1); - pass_cmp->CopyFromAndAppendDrawQuad(checkerboard_in, - checkerboard_in->shared_quad_state); - DebugBorderDrawQuad* debugborder_in = pass_in->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); debugborder_in->SetAll(shared_state1_in, @@ -465,7 +446,7 @@ TEST_F(CCMessagesTest, AllQuads) { ASSERT_EQ(0u, child_pass_in->quad_list.size()); Compare(pass_cmp.get(), pass_in.get()); ASSERT_EQ(3u, pass_in->shared_quad_state_list.size()); - ASSERT_EQ(10u, pass_in->quad_list.size()); + ASSERT_EQ(9u, pass_in->quad_list.size()); for (cc::SharedQuadStateList::ConstIterator cmp_iterator = pass_cmp->shared_quad_state_list.begin(), in_iterator = pass_in->shared_quad_state_list.begin(); @@ -510,7 +491,7 @@ TEST_F(CCMessagesTest, AllQuads) { frame_out.render_pass_list.take(frame_out.render_pass_list.begin() + 1); Compare(pass_cmp.get(), pass_out.get()); ASSERT_EQ(3u, pass_out->shared_quad_state_list.size()); - ASSERT_EQ(10u, pass_out->quad_list.size()); + ASSERT_EQ(9u, pass_out->quad_list.size()); for (cc::SharedQuadStateList::ConstIterator cmp_iterator = pass_cmp->shared_quad_state_list.begin(), out_iterator = pass_out->shared_quad_state_list.begin(); @@ -554,10 +535,10 @@ TEST_F(CCMessagesTest, UnusedSharedQuadStates) { SkXfermode::kSrcOver_Mode, 0); - CheckerboardDrawQuad* quad1 = - pass_in->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); + SolidColorDrawQuad* quad1 = + pass_in->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); quad1->SetAll(shared_state1_in, gfx::Rect(10, 10), gfx::Rect(10, 10), - gfx::Rect(10, 10), false, SK_ColorRED, 1.f); + gfx::Rect(10, 10), false, SK_ColorRED, false); // The second and third SharedQuadStates are not used. SharedQuadState* shared_state2_in = pass_in->CreateAndAppendSharedQuadState(); @@ -591,10 +572,10 @@ TEST_F(CCMessagesTest, UnusedSharedQuadStates) { SkXfermode::kSrcOver_Mode, 0); - CheckerboardDrawQuad* quad2 = - pass_in->CreateAndAppendDrawQuad<CheckerboardDrawQuad>(); + SolidColorDrawQuad* quad2 = + pass_in->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); quad2->SetAll(shared_state4_in, gfx::Rect(10, 10), gfx::Rect(10, 10), - gfx::Rect(10, 10), false, SK_ColorRED, 1.f); + gfx::Rect(10, 10), false, SK_ColorRED, false); // The fifth is not used again. SharedQuadState* shared_state5_in = pass_in->CreateAndAppendSharedQuadState(); diff --git a/mojo/converters/surfaces/surfaces_type_converters.cc b/mojo/converters/surfaces/surfaces_type_converters.cc index 23ba8fd..6ade3ee 100644 --- a/mojo/converters/surfaces/surfaces_type_converters.cc +++ b/mojo/converters/surfaces/surfaces_type_converters.cc @@ -7,7 +7,6 @@ #include "base/macros.h" #include "cc/output/compositor_frame.h" #include "cc/output/delegated_frame_data.h" -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/draw_quad.h" #include "cc/quads/render_pass.h" @@ -29,7 +28,6 @@ namespace mojo { MATERIAL_##value), \ value##_enum_value_matches) -ASSERT_ENUM_VALUES_EQUAL(CHECKERBOARD); ASSERT_ENUM_VALUES_EQUAL(DEBUG_BORDER); ASSERT_ENUM_VALUES_EQUAL(IO_SURFACE_CONTENT); ASSERT_ENUM_VALUES_EQUAL(PICTURE_CONTENT); @@ -67,19 +65,6 @@ bool ConvertDrawQuad(const QuadPtr& input, cc::SharedQuadState* sqs, cc::RenderPass* render_pass) { switch (input->material) { - case MATERIAL_CHECKERBOARD: { - cc::CheckerboardDrawQuad* checkerboard_quad = - render_pass->CreateAndAppendDrawQuad<cc::CheckerboardDrawQuad>(); - checkerboard_quad->SetAll( - sqs, - input->rect.To<gfx::Rect>(), - input->opaque_rect.To<gfx::Rect>(), - input->visible_rect.To<gfx::Rect>(), - input->needs_blending, - input->checkerboard_quad_state->color.To<SkColor>(), - input->checkerboard_quad_state->scale); - break; - } case MATERIAL_DEBUG_BORDER: { cc::DebugBorderDrawQuad* debug_border_quad = render_pass->CreateAndAppendDrawQuad<cc::DebugBorderDrawQuad>(); @@ -274,16 +259,6 @@ QuadPtr TypeConverter<QuadPtr, cc::DrawQuad>::Convert( // state list. quad->shared_quad_state_index = UINT32_MAX; switch (input.material) { - case cc::DrawQuad::CHECKERBOARD: { - const cc::CheckerboardDrawQuad* checkerboard_quad = - cc::CheckerboardDrawQuad::MaterialCast(&input); - CheckerboardQuadStatePtr checkerboard_state = - CheckerboardQuadState::New(); - checkerboard_state->color = Color::From(checkerboard_quad->color); - checkerboard_state->scale = checkerboard_quad->scale; - quad->checkerboard_quad_state = checkerboard_state.Pass(); - break; - } case cc::DrawQuad::DEBUG_BORDER: { const cc::DebugBorderDrawQuad* debug_border_quad = cc::DebugBorderDrawQuad::MaterialCast(&input); diff --git a/mojo/converters/surfaces/tests/surface_unittest.cc b/mojo/converters/surfaces/tests/surface_unittest.cc index 7a1b815..a23f6cb 100644 --- a/mojo/converters/surfaces/tests/surface_unittest.cc +++ b/mojo/converters/surfaces/tests/surface_unittest.cc @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/render_pass.h" #include "cc/quads/solid_color_draw_quad.h" @@ -473,32 +472,5 @@ TEST_F(SurfaceLibQuadTest, DebugBorderQuad) { EXPECT_EQ(width, mojo_debug_border_state->width); } -TEST_F(SurfaceLibQuadTest, CheckerboardQuad) { - cc::CheckerboardDrawQuad* checkerboard_quad = - pass->CreateAndAppendDrawQuad<cc::CheckerboardDrawQuad>(); - const SkColor arbitrary_color = SK_ColorGREEN; - const float scale = 1.0f; - checkerboard_quad->SetAll(sqs, - rect, - opaque_rect, - visible_rect, - needs_blending, - arbitrary_color, - scale); - - QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*checkerboard_quad); - ASSERT_FALSE(mojo_quad.is_null()); - EXPECT_EQ(MATERIAL_CHECKERBOARD, mojo_quad->material); - EXPECT_EQ(Rect::From(rect), mojo_quad->rect); - EXPECT_EQ(Rect::From(opaque_rect), mojo_quad->opaque_rect); - EXPECT_EQ(Rect::From(visible_rect), mojo_quad->visible_rect); - EXPECT_EQ(needs_blending, mojo_quad->needs_blending); - ASSERT_TRUE(mojo_quad->checkerboard_quad_state); - CheckerboardQuadStatePtr& mojo_checkerboard_state = - mojo_quad->checkerboard_quad_state; - EXPECT_EQ(Color::From(arbitrary_color), mojo_checkerboard_state->color); - EXPECT_EQ(scale, mojo_checkerboard_state->scale); -} - } // namespace } // namespace mojo |