gpu: Handle IDAWorker failures more gracefully.
This CL makes the ImageDecodeAcceleratorStub handle failures in the ImageDecodeAcceleratorWorker more gracefully: instead of tearing down the GpuChannel, we just don't add an entry to the transfer cache. This should have the effect of just not drawing the image at raster time. The motivation is that tearing the channel down can make us go into a loop: when the channel goes down, the renderer will try to re-establish it and request the image decodes again which will probably cause the channel to be destroyed again. Ideally, these failures don't happen because the renderer is supposed to check that the image is supported by the hardware decoder before requesting a decode. However, in practice it could happen if the hardware decoder supported profile happens to be incomplete or if the image header is fine but the rest of the image is corrupt. This CL also makes all other failures in the IDAStub be handled in the same manner. visually on a Chromebook device. Bug: 1013502 Test: The IDAStub tests are adapted to the new behavior. Also tested Change-Id: I5648f1269e625bf23e75fe3ddbbbd2ffa6e5f913 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1855558 Commit-Queue: Andres Calderon Jaramillo <andrescj@chromium.org> Reviewed-by:Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by:
Khushal <khushalsagar@chromium.org> Cr-Commit-Position: refs/heads/master@{#713607}
Showing
This diff is collapsed.
Please register or sign in to comment