Chromium Code Reviews| Index: cc/quads/render_pass.h |
| diff --git a/cc/quads/render_pass.h b/cc/quads/render_pass.h |
| index 7859ac323ae6776eae4ba0de2c5f27df697a8c2f..6be0d5c42138a5dbb1dc475cf2cf7aa1f4c940de 100644 |
| --- a/cc/quads/render_pass.h |
| +++ b/cc/quads/render_pass.h |
| @@ -16,6 +16,7 @@ |
| #include "base/macros.h" |
| #include "cc/base/cc_export.h" |
| #include "cc/base/list_container.h" |
| +#include "cc/output/filter_operations.h" |
| #include "cc/quads/draw_quad.h" |
| #include "cc/quads/largest_draw_quad.h" |
| #include "cc/quads/render_pass_id.h" |
| @@ -77,12 +78,16 @@ class CC_EXPORT RenderPass { |
| void SetNew(RenderPassId id, |
| const gfx::Rect& output_rect, |
| const gfx::Rect& damage_rect, |
| - const gfx::Transform& transform_to_root_target); |
| + const gfx::Transform& transform_to_root_target, |
| + const FilterOperations& filters, |
| + const FilterOperations& background_filters); |
| void SetAll(RenderPassId id, |
| const gfx::Rect& output_rect, |
| const gfx::Rect& damage_rect, |
| const gfx::Transform& transform_to_root_target, |
| + const FilterOperations& filters, |
| + const FilterOperations& background_filters, |
| bool has_transparent_background); |
| void AsValueInto(base::trace_event::TracedValue* dict) const; |
| @@ -112,6 +117,13 @@ class CC_EXPORT RenderPass { |
| // render pass' |output_rect|. |
| gfx::Transform transform_to_root_target; |
| + // Post-processing filters, applied to the pixels in the render pass' texture. |
| + FilterOperations filters; |
| + |
| + // Post-processing filters, applied to the pixels showing through the |
| + // background of the render pass, from behind it. |
| + FilterOperations background_filters; |
| + |
| // If false, the pixels in the render pass' texture are all opaque. |
| bool has_transparent_background; |
| @@ -141,6 +153,8 @@ class CC_EXPORT RenderPass { |
| using RenderPassList = std::vector<std::unique_ptr<RenderPass>>; |
| using RenderPassIdHashMap = |
| std::unordered_map<RenderPassId, RenderPass*, RenderPassIdHash>; |
| +using RenderPassFilterList = |
| + std::vector<std::pair<RenderPassId, FilterOperations>>; |
|
ajuma
2016/11/30 18:40:54
I made this a vector since the number of render pa
danakj
2016/12/01 01:50:46
You would need hundreds (or thousands?) of entries
weiliangc
2016/12/01 19:04:31
Maybe overall just use FilterOperations* when not
weiliangc
2016/12/01 20:16:11
Also sort of unrelated to the CL, but isn't using
weiliangc
2016/12/01 20:23:09
Wait no just realized std::map will need to be bal
danakj
2016/12/01 21:14:34
also std::map is a pointery (ie terrible) data str
ajuma
2016/12/13 15:08:11
Changed to sorting the vector and using std::lower
|
| } // namespace cc |