-
ericrk authored
This change moves decision making about whether to use GPU raster from the browser process to the GPU process. This allows the decision to be made based on more detailed GPU information, which is not available to the browser. The new decision making process is as follows: The GPU process loads the GPU blacklist at startup, using more complete GPUInfo than is available to the browser. This data is combined with flags (forwarded from the browser) to generate a GpuFeatureInfo struct which contains enabled/ blacklisted/disabled values for each GPU feature (currently only populated for GPU raster). The GPU process notifies the browser of its decision by passing the GpuFeatureInfo via GpuHostMessage_Initialized. The browser uses this info solely to populate about:gpu. The GPU process notifies the renderer process of its decision via context capabilities. The renderer uses this info to make decisions on how to rasterize. In the Render process, we now recieve GPU raster information at a later point (when we create our CompositorFrameSink), so we can't store this info in LayerTreeSettings. This requires a bit of refactoring to have tests use context Capabilities rather than LayerTreeSettings to provide this information. BUG=648493 R=zmo@chromium.org 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 Review-Url: https://codereview.chromium.org/2654993004 Cr-Commit-Position: refs/heads/master@{#449729}
41a1579e