Use RasterDecoder for CPU raster
This CL uses RasterDecoder for CPU rasterization (one-copy and
zero-copy) on worker background raster threads in two cases:
(1) in renderers whenever GPU raster is blacklisted or cannot create
GrContext (similar to
LayerTreeHostImpl::GetGpuRasterizationCapabilities)
(2) in browser whenever GPU raster is not requested
This CL copies some of the logic in LTHI::GetGpuRasterizationCapabilities
to RenderThreadImpl::SharedCompositorWorkerContextProvider.
I copied it so that if we fail GPU rasterization using GLES2Decoder, we
can fallback to CPU raster using a RasterDecoder.
This change should be safe because we have been fuzzing all
RasterDecoder entry points for about 1 quarter.
When testing this CL, I noticed that chrome://gpu was reporting
rasterization status incorrectly with --force-gpu-rasterization flag,
so I fixed that too.
Bug: 880911
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I8d93b9d0bfe30e9ee0d5e522be0d9f8155a28726
Reviewed-on: https://chromium-review.googlesource.com/c/1258206
Commit-Queue: Jonathan Backer <backer@chromium.org>
Reviewed-by:
Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598801}
Showing
Please register or sign in to comment