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

Side by Side Diff: services/ui/ws/frame_generator.cc

Issue 2543473004: cc: Move filters from RenderPassDrawQuad to RenderPass (Closed)
Patch Set: Rebase again Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "services/ui/ws/frame_generator.h" 5 #include "services/ui/ws/frame_generator.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/containers/adapters.h" 9 #include "base/containers/adapters.h"
10 #include "cc/output/compositor_frame.h" 10 #include "cc/output/compositor_frame.h"
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 cc::CompositorFrame frame; 134 cc::CompositorFrame frame;
135 frame.render_pass_list.push_back(std::move(render_pass)); 135 frame.render_pass_list.push_back(std::move(render_pass));
136 if (delegate_->IsInHighContrastMode()) { 136 if (delegate_->IsInHighContrastMode()) {
137 std::unique_ptr<cc::RenderPass> invert_pass = cc::RenderPass::Create(); 137 std::unique_ptr<cc::RenderPass> invert_pass = cc::RenderPass::Create();
138 invert_pass->SetNew(2, output_rect, output_rect, gfx::Transform()); 138 invert_pass->SetNew(2, output_rect, output_rect, gfx::Transform());
139 cc::SharedQuadState* shared_state = 139 cc::SharedQuadState* shared_state =
140 invert_pass->CreateAndAppendSharedQuadState(); 140 invert_pass->CreateAndAppendSharedQuadState();
141 shared_state->SetAll(gfx::Transform(), output_rect.size(), output_rect, 141 shared_state->SetAll(gfx::Transform(), output_rect.size(), output_rect,
142 output_rect, false, 1.f, SkBlendMode::kSrcOver, 0); 142 output_rect, false, 1.f, SkBlendMode::kSrcOver, 0);
143 auto* quad = invert_pass->CreateAndAppendDrawQuad<cc::RenderPassDrawQuad>(); 143 auto* quad = invert_pass->CreateAndAppendDrawQuad<cc::RenderPassDrawQuad>();
144 cc::FilterOperations filters; 144 render_pass->filters.Append(cc::FilterOperation::CreateInvertFilter(1.f));
145 filters.Append(cc::FilterOperation::CreateInvertFilter(1.f));
146 quad->SetNew(shared_state, output_rect, output_rect, render_pass_id, 145 quad->SetNew(shared_state, output_rect, output_rect, render_pass_id,
147 0 /* mask_resource_id */, gfx::Vector2dF() /* mask_uv_scale */, 146 0 /* mask_resource_id */, gfx::Vector2dF() /* mask_uv_scale */,
148 gfx::Size() /* mask_texture_size */, filters, 147 gfx::Size() /* mask_texture_size */,
149 gfx::Vector2dF() /* filters_scale */, 148 gfx::Vector2dF() /* filters_scale */,
150 gfx::PointF() /* filters_origin */, 149 gfx::PointF() /* filters_origin */);
151 cc::FilterOperations() /* background_filters */);
152 frame.render_pass_list.push_back(std::move(invert_pass)); 150 frame.render_pass_list.push_back(std::move(invert_pass));
153 } 151 }
154 152
155 return frame; 153 return frame;
156 } 154 }
157 155
158 void FrameGenerator::DrawWindowTree( 156 void FrameGenerator::DrawWindowTree(
159 cc::RenderPass* pass, 157 cc::RenderPass* pass,
160 ServerWindow* window, 158 ServerWindow* window,
161 const gfx::Vector2d& parent_to_root_origin_offset, 159 const gfx::Vector2d& parent_to_root_origin_offset,
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 cc::SurfaceId underlay_surface_id = 340 cc::SurfaceId underlay_surface_id =
343 window->compositor_frame_sink_manager()->GetLatestSurfaceId( 341 window->compositor_frame_sink_manager()->GetLatestSurfaceId(
344 mojom::CompositorFrameSinkType::UNDERLAY); 342 mojom::CompositorFrameSinkType::UNDERLAY);
345 if (underlay_surface_id.is_valid()) 343 if (underlay_surface_id.is_valid())
346 RemoveFrameSinkReference(underlay_surface_id.frame_sink_id()); 344 RemoveFrameSinkReference(underlay_surface_id.frame_sink_id());
347 } 345 }
348 346
349 } // namespace ws 347 } // namespace ws
350 348
351 } // namespace ui 349 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698