Index: cc/output/gl_renderer.h |
diff --git a/cc/output/gl_renderer.h b/cc/output/gl_renderer.h |
index c83169dfc6acd3b2b4925c7ce0a9bbd476613f3f..b81ae042abbaecc4f334053435a7efa1f8815b2b 100644 |
--- a/cc/output/gl_renderer.h |
+++ b/cc/output/gl_renderer.h |
@@ -45,7 +45,8 @@ class CC_EXPORT GLRenderer |
static scoped_ptr<GLRenderer> Create(RendererClient* client, |
OutputSurface* output_surface, |
ResourceProvider* resource_provider, |
- int highp_threshold_min); |
+ int highp_threshold_min, |
+ bool use_skia_gpu_backend); |
virtual ~GLRenderer(); |
@@ -77,6 +78,8 @@ class CC_EXPORT GLRenderer |
const char* file, |
int line); |
+ bool CanUseSkiaGPUBackend() const; |
+ |
protected: |
GLRenderer(RendererClient* client, |
OutputSurface* output_surface, |
@@ -85,6 +88,7 @@ class CC_EXPORT GLRenderer |
bool IsBackbufferDiscarded() const { return is_backbuffer_discarded_; } |
bool Initialize(); |
+ void InitializeGrContext(); |
const gfx::QuadF& SharedGeometryQuad() const { return shared_geometry_quad_; } |
const GeometryBinding* SharedGeometry() const { |
@@ -151,6 +155,8 @@ class CC_EXPORT GLRenderer |
const YUVVideoDrawQuad* quad); |
void DrawPictureQuad(const DrawingFrame* frame, |
const PictureDrawQuad* quad); |
+ void DrawPictureQuadDirectToBackbuffer(const DrawingFrame* frame, |
+ const PictureDrawQuad* quad); |
void SetShaderOpacity(float opacity, int alpha_location); |
void SetShaderQuadF(const gfx::QuadF& quad, int quad_location); |
@@ -206,6 +212,9 @@ class CC_EXPORT GLRenderer |
const CopyRenderPassCallback& callback, |
bool success); |
+ void ReinitializeGrCanvas(); |
+ void ReinitializeGLState(); |
+ |
// WebKit:: |
// WebGraphicsContext3D::WebGraphicsMemoryAllocationChangedCallbackCHROMIUM |
// implementation. |
@@ -392,6 +401,9 @@ class CC_EXPORT GLRenderer |
OutputSurface* output_surface_; |
WebKit::WebGraphicsContext3D* context_; |
+ skia::RefPtr<GrContext> gr_context_; |
+ skia::RefPtr<SkCanvas> sk_canvas_; |
+ |
gfx::Rect swap_buffer_rect_; |
gfx::Rect scissor_rect_; |
bool is_viewport_changed_; |