diff options
Diffstat (limited to 'chromium/cc/output/software_renderer.h')
-rw-r--r-- | chromium/cc/output/software_renderer.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/chromium/cc/output/software_renderer.h b/chromium/cc/output/software_renderer.h index f810b68274d..5a8780e043c 100644 --- a/chromium/cc/output/software_renderer.h +++ b/chromium/cc/output/software_renderer.h @@ -29,6 +29,7 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer { public: static scoped_ptr<SoftwareRenderer> Create( RendererClient* client, + const LayerTreeSettings* settings, OutputSurface* output_surface, ResourceProvider* resource_provider); @@ -45,6 +46,8 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer { virtual void ReceiveSwapBuffersAck( const CompositorFrameAck& ack) OVERRIDE; virtual void SetDiscardBackBufferWhenNotVisible(bool discard) OVERRIDE; + virtual void DiscardBackbuffer() OVERRIDE; + virtual void EnsureBackbuffer() OVERRIDE; protected: virtual void BindFramebufferToOutputSurface(DrawingFrame* frame) OVERRIDE; @@ -54,7 +57,10 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer { gfx::Rect target_rect) OVERRIDE; virtual void SetDrawViewport(gfx::Rect window_space_viewport) OVERRIDE; virtual void SetScissorTestRect(gfx::Rect scissor_rect) OVERRIDE; - virtual void ClearFramebuffer(DrawingFrame* frame) OVERRIDE; + virtual void DiscardPixels(bool has_external_stencil_test, + bool draw_rect_covers_full_surface) OVERRIDE; + virtual void ClearFramebuffer(DrawingFrame* frame, + bool has_external_stencil_test) OVERRIDE; virtual void DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) OVERRIDE; virtual void BeginDrawingFrame(DrawingFrame* frame) OVERRIDE; virtual void FinishDrawingFrame(DrawingFrame* frame) OVERRIDE; @@ -65,10 +71,10 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer { DrawingFrame* frame, scoped_ptr<CopyOutputRequest> request) OVERRIDE; - SoftwareRenderer( - RendererClient* client, - OutputSurface* output_surface, - ResourceProvider* resource_provider); + SoftwareRenderer(RendererClient* client, + const LayerTreeSettings* settings, + OutputSurface* output_surface, + ResourceProvider* resource_provider); private: void ClearCanvas(SkColor color); @@ -95,6 +101,7 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer { RendererCapabilities capabilities_; bool visible_; bool is_scissor_enabled_; + bool is_backbuffer_discarded_; gfx::Rect scissor_rect_; SoftwareOutputDevice* output_device_; |