Chromium Code Reviews| Index: cc/output/direct_renderer.h |
| diff --git a/cc/output/direct_renderer.h b/cc/output/direct_renderer.h |
| index e07cb932e5aff6a1661596ce401a4c365443d441..6bcaeb8facec1ddd3f05d06253f17a355f9bc644 100644 |
| --- a/cc/output/direct_renderer.h |
| +++ b/cc/output/direct_renderer.h |
| @@ -9,13 +9,17 @@ |
| #include "base/callback.h" |
| #include "base/containers/scoped_ptr_hash_map.h" |
| #include "cc/base/cc_export.h" |
| +#include "cc/base/scoped_ptr_deque.h" |
| #include "cc/output/overlay_processor.h" |
| #include "cc/output/renderer.h" |
| #include "cc/resources/resource_provider.h" |
| #include "cc/resources/scoped_resource.h" |
| +#include "cc/resources/task_graph_runner.h" |
| +#include "ui/gfx/geometry/quad_f.h" |
| namespace cc { |
| +class DrawPolygon; |
| class ResourceProvider; |
| // This is the base class for code shared between the GL and software |
| @@ -56,6 +60,10 @@ class CC_EXPORT DirectRenderer : public Renderer { |
| }; |
| void SetEnlargePassTextureAmountForTesting(const gfx::Vector2d& amount); |
| + void DoDrawPolygon(const DrawPolygon& poly, |
| + DrawingFrame* frame, |
| + const gfx::Rect& render_pass_scissor, |
| + bool using_scissor_as_optimization); |
| protected: |
| DirectRenderer(RendererClient* client, |
| @@ -78,16 +86,21 @@ class CC_EXPORT DirectRenderer : public Renderer { |
| gfx::Rect DeviceClipRectInWindowSpace(const DrawingFrame* frame) const; |
| static gfx::Rect ComputeScissorRectForRenderPass(const DrawingFrame* frame); |
| void SetScissorStateForQuad(const DrawingFrame* frame, const DrawQuad& quad); |
| + bool ShouldSkipQuad(const DrawQuad& quad, |
| + const gfx::Rect& render_pass_scissor); |
| void SetScissorStateForQuadWithRenderPassScissor( |
| const DrawingFrame* frame, |
| const DrawQuad& quad, |
| - const gfx::Rect& render_pass_scissor, |
| - bool* should_skip_quad); |
| + const gfx::Rect& render_pass_scissor); |
| void SetScissorTestRectInDrawSpace(const DrawingFrame* frame, |
| const gfx::Rect& draw_space_rect); |
| static gfx::Size RenderPassTextureSize(const RenderPass* render_pass); |
| + void FlushPolygons(ScopedPtrDeque<DrawPolygon>* poly_list, |
| + DrawingFrame* frame, |
| + const gfx::Rect& render_pass_scissor, |
| + bool using_scissor_as_optimization); |
| void DrawRenderPass(DrawingFrame* frame, const RenderPass* render_pass); |
| bool UseRenderPass(DrawingFrame* frame, const RenderPass* render_pass); |
| @@ -101,7 +114,9 @@ class CC_EXPORT DirectRenderer : public Renderer { |
| bool draw_rect_covers_full_surface) = 0; |
| virtual void ClearFramebuffer(DrawingFrame* frame, |
| bool has_external_stencil_test) = 0; |
| - virtual void DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) = 0; |
| + virtual void DoDrawQuad(DrawingFrame* frame, |
| + const DrawQuad* quad, |
| + const gfx::QuadF* draw_region) = 0; |
|
enne (OOO)
2015/02/12 18:00:26
naming: clip_region?
Can you also leave a comment
awoloszyn
2015/02/23 22:28:26
Done.
|
| virtual void BeginDrawingFrame(DrawingFrame* frame) = 0; |
| virtual void FinishDrawingFrame(DrawingFrame* frame) = 0; |
| virtual void FinishDrawingQuadList(); |