Descriptiongpu: Introduce GpuInit.
Consolidate some of the gpu initialization code into GpuInit, so that the same
initialization code can be used in chrome, and mus. GpuInit is responsible for:
. Creating (and owning) the GpuWatchdogThread (when applicable).
. Deciding when to enter the sandbox.
. Deciding whether GPU initialization failed (i.e. dead on arrival).
. Initializing GL (when applicable), and applying driver bug workarounds.
. Initializing dual-gpu support (when applicable).
. Computing GPUInfo.
Some possibly notable changes:
. In order to decide whether GL still needs to be initialized or not, the old
code used to look at the --no-sandbox or --in-process-gpu flags. This change
instead looks at the current GL implementation, and there isn't one, then it
attempts to initialize GL.
. Changes the order of initialization of some of the components. For example,
the old code used to initialize the message-loop after intializing dual-gpu
support. It also used to initialize StatisticsRecorder, set thread priority
after creating the watchdog etc. The new code initializes these first,
before initializing the components GpuInit is responsible for.
. --disable-gpu-watchdog and --gpu-sandbox-start-early flags are moved into
//gpu/ipc/service.
. Some gpu::GPUInfo related flags (e.g. --gpu-device-id, --gpu-driver-vendor,
--gpu-driver-version, --gpu-driver-date, --gpu-vendor-id) move into
//gpu/config.
BUG=643746
CQ_INCLUDE_TRYBOTS=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
Committed: https://crrev.com/454af333cd3626311ac08f7128ee48984b5ecfb1
Cr-Commit-Position: refs/heads/master@{#417634}
Patch Set 1 #Patch Set 2 : . #
Total comments: 4
Patch Set 3 : . #Patch Set 4 : . #
Messages
Total messages: 31 (24 generated)
|