summaryrefslogtreecommitdiff
path: root/chromium/cc/output/software_renderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/output/software_renderer.h')
-rw-r--r--chromium/cc/output/software_renderer.h17
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_;