Commit e300850a authored by Peng Huang's avatar Peng Huang Committed by Commit Bot

Fix SkiaRenderer + DDL related crash.

Skia has a problem to with GrResourceCache. This CL workaround the issue
by not keep a SkPaint object during frames.

Bug: 905337
Change-Id: I0f44eb7502d41cd54015fe651a373d8bae65fda8
Reviewed-on: https://chromium-review.googlesource.com/c/1342501
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: default avatarweiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609426}
parent 59b5f94b
......@@ -96,21 +96,22 @@ class VIZ_SERVICE_EXPORT SkiaRenderer : public DirectRenderer {
const gfx::QuadF* draw_region,
const gfx::Rect* scissor_rect,
base::Optional<SkAutoCanvasRestore>* auto_canvas_restore);
void DrawDebugBorderQuad(const DebugBorderDrawQuad* quad);
void DrawPictureQuad(const PictureDrawQuad* quad);
void DrawRenderPassQuad(const RenderPassDrawQuad* quad);
void DrawDebugBorderQuad(const DebugBorderDrawQuad* quad, SkPaint* paint);
void DrawPictureQuad(const PictureDrawQuad* quad, SkPaint* paint);
void DrawRenderPassQuad(const RenderPassDrawQuad* quad, SkPaint* paint);
void DrawRenderPassQuadInternal(const RenderPassDrawQuad* quad,
sk_sp<SkImage> content_image);
sk_sp<SkImage> content_image,
SkPaint* paint);
void DrawSolidColorQuad(const SolidColorDrawQuad* quad);
void DrawTextureQuad(const TextureDrawQuad* quad);
void DrawSolidColorQuad(const SolidColorDrawQuad* quad, SkPaint* paint);
void DrawTextureQuad(const TextureDrawQuad* quad, SkPaint* paint);
bool MustDrawBatchedTileQuadsBeforeQuad(const DrawQuad* new_quad,
const gfx::QuadF* draw_region);
void AddTileQuadToBatch(const TileDrawQuad* quad,
const gfx::QuadF* draw_region);
void DrawBatchedTileQuads();
void DrawYUVVideoQuad(const YUVVideoDrawQuad* quad);
void DrawUnsupportedQuad(const DrawQuad* quad);
void DrawYUVVideoQuad(const YUVVideoDrawQuad* quad, SkPaint* paint);
void DrawUnsupportedQuad(const DrawQuad* quad, SkPaint* paint);
bool CalculateRPDQParams(sk_sp<SkImage> src_image,
const RenderPassDrawQuad* quad,
DrawRenderPassDrawQuadParams* params);
......@@ -164,7 +165,6 @@ class VIZ_SERVICE_EXPORT SkiaRenderer : public DirectRenderer {
bool disable_picture_quad_image_filtering_ = false;
bool is_scissor_enabled_ = false;
gfx::Rect scissor_rect_;
SkPaint current_paint_;
// Specific for overdraw.
sk_sp<SkSurface> overdraw_surface_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment