• Andres Calderon Jaramillo's avatar
    gpu: Handle IDAWorker failures more gracefully. · 96b928a0
    Andres Calderon Jaramillo authored
    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: default avatarSunny Sachanandani <sunnyps@chromium.org>
    Reviewed-by: default avatarKhushal <khushalsagar@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#713607}
    96b928a0
image_decode_accelerator_stub.h 4.37 KB