[go: up one dir, main page]

Check before removing render pass resource

Replce the DCHECK in SkiaOutputSurfaceImpl::RemoveRenderPassResource()
with a test to see if the render pass has an entry in
|render_pass_image_cache_| before trying to remove it.

There isn't a known repro for this crash, but I suspect that using a
bypass to draw the quad in SkiaRenderer::DrawRenderPassQuad() can cause
the circumstances to arise. An entry for |render_pass_image_cache_| is
created in MakePromiseSkImageFromRenderPass(), but this is skipped if
a bypass quad is used, causing a difference between the render pass maps
in SkiaRenderer and SkiaOutputSurfaceImpl.

(cherry picked from commit a7a1388ba01980a42908b301432262d63879ed60)

Bug: 959071
Change-Id: I4765f57eb30a7b4f14a559722e419ae526f79572
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1648326
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Commit-Queue: Sean Gilhuly <sgilhuly@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#667291}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1658838
Reviewed-by: Sean Gilhuly <sgilhuly@chromium.org>
Cr-Commit-Position: refs/branch-heads/3809@{#296}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
1 file changed