[go: nahoru, domu]

Add out of process gpu raster behind a flag

This patch adds a new --enable-oop-rasterization command line flag.
When enabled, it turns on a chromium_raster_transport gl extension and
makes all renderers that would have gone through the gpu raster path
instead do gpu raster in the gpu process by serializing/deserializing
recordings and rastering them there.

This is not ready to be turned on for both security and functionality
purposes by any means.  Without this flag, the command buffer ignores
these new raster commands, so this should be safe to land behind a flag.

As an initial approach, the raster is driven identically to gpu raster
in the renderer.  There's one raster thread.  The renderer decides
what to raster, adds decoding jobs, and then for one particular tile,
all the recorded paint commands for that tile are serialized and then
executed in the gpu process gles2 command decoder.

TBR=thakis@chromium.org

Bug: 757605
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I4d01d266bf5a7236d79a4e003c5fa8921e7826f8
Reviewed-on: https://chromium-review.googlesource.com/514505
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497934}
53 files changed