OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "cc/output/software_renderer.h" | 5 #include "cc/output/software_renderer.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "base/trace_event/trace_event.h" | 8 #include "base/trace_event/trace_event.h" |
9 #include "cc/base/math_util.h" | 9 #include "cc/base/math_util.h" |
10 #include "cc/output/compositor_frame.h" | |
11 #include "cc/output/compositor_frame_metadata.h" | |
12 #include "cc/output/copy_output_request.h" | 10 #include "cc/output/copy_output_request.h" |
13 #include "cc/output/output_surface.h" | 11 #include "cc/output/output_surface.h" |
| 12 #include "cc/output/output_surface_frame.h" |
14 #include "cc/output/render_surface_filters.h" | 13 #include "cc/output/render_surface_filters.h" |
15 #include "cc/output/renderer_settings.h" | 14 #include "cc/output/renderer_settings.h" |
16 #include "cc/output/software_output_device.h" | 15 #include "cc/output/software_output_device.h" |
17 #include "cc/quads/debug_border_draw_quad.h" | 16 #include "cc/quads/debug_border_draw_quad.h" |
18 #include "cc/quads/picture_draw_quad.h" | 17 #include "cc/quads/picture_draw_quad.h" |
19 #include "cc/quads/render_pass_draw_quad.h" | 18 #include "cc/quads/render_pass_draw_quad.h" |
20 #include "cc/quads/solid_color_draw_quad.h" | 19 #include "cc/quads/solid_color_draw_quad.h" |
21 #include "cc/quads/texture_draw_quad.h" | 20 #include "cc/quads/texture_draw_quad.h" |
22 #include "cc/quads/tile_draw_quad.h" | 21 #include "cc/quads/tile_draw_quad.h" |
23 #include "cc/resources/scoped_resource.h" | 22 #include "cc/resources/scoped_resource.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 void SoftwareRenderer::FinishDrawingFrame(DrawingFrame* frame) { | 73 void SoftwareRenderer::FinishDrawingFrame(DrawingFrame* frame) { |
75 TRACE_EVENT0("cc", "SoftwareRenderer::FinishDrawingFrame"); | 74 TRACE_EVENT0("cc", "SoftwareRenderer::FinishDrawingFrame"); |
76 current_framebuffer_lock_ = nullptr; | 75 current_framebuffer_lock_ = nullptr; |
77 current_framebuffer_canvas_.reset(); | 76 current_framebuffer_canvas_.reset(); |
78 current_canvas_ = nullptr; | 77 current_canvas_ = nullptr; |
79 root_canvas_ = nullptr; | 78 root_canvas_ = nullptr; |
80 | 79 |
81 output_device_->EndPaint(); | 80 output_device_->EndPaint(); |
82 } | 81 } |
83 | 82 |
84 void SoftwareRenderer::SwapBuffers(CompositorFrameMetadata metadata) { | 83 void SoftwareRenderer::SwapBuffers(std::vector<ui::LatencyInfo> latency_info) { |
85 DCHECK(visible_); | 84 DCHECK(visible_); |
86 TRACE_EVENT0("cc,benchmark", "SoftwareRenderer::SwapBuffers"); | 85 TRACE_EVENT0("cc,benchmark", "SoftwareRenderer::SwapBuffers"); |
87 CompositorFrame compositor_frame; | 86 OutputSurfaceFrame output_frame; |
88 compositor_frame.metadata = std::move(metadata); | 87 output_frame.latency_info = std::move(latency_info); |
89 output_surface_->SwapBuffers(std::move(compositor_frame)); | 88 output_surface_->SwapBuffers(std::move(output_frame)); |
90 } | 89 } |
91 | 90 |
92 bool SoftwareRenderer::FlippedFramebuffer(const DrawingFrame* frame) const { | 91 bool SoftwareRenderer::FlippedFramebuffer(const DrawingFrame* frame) const { |
93 return false; | 92 return false; |
94 } | 93 } |
95 | 94 |
96 void SoftwareRenderer::EnsureScissorTestEnabled() { | 95 void SoftwareRenderer::EnsureScissorTestEnabled() { |
97 is_scissor_enabled_ = true; | 96 is_scissor_enabled_ = true; |
98 SetClipRect(scissor_rect_); | 97 SetClipRect(scissor_rect_); |
99 } | 98 } |
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
710 ApplyImageFilter(filter.get(), quad, backdrop_bitmap, nullptr); | 709 ApplyImageFilter(filter.get(), quad, backdrop_bitmap, nullptr); |
711 | 710 |
712 if (!filter_backdrop_image) | 711 if (!filter_backdrop_image) |
713 return nullptr; | 712 return nullptr; |
714 | 713 |
715 return filter_backdrop_image->makeShader(content_tile_mode, content_tile_mode, | 714 return filter_backdrop_image->makeShader(content_tile_mode, content_tile_mode, |
716 &filter_backdrop_transform); | 715 &filter_backdrop_transform); |
717 } | 716 } |
718 | 717 |
719 } // namespace cc | 718 } // namespace cc |
OLD | NEW |