Maintaining a whitelist for GPU rasterization will be hard over time as new cards are released. Additionally, maintaining a blacklist is difficult in the face of a huge number of weird cards being released.
We'd like to restrict it to hardware with shader model 5.0, but currently the only things we have to go on in the browser process are device ID, vendor ID, and driver release date, so it's hard to figure out anything dynamically. However, LayerTreeHostImpl in the renderer has access to the gpu::Capabilities from the GPU process, so if we include information about the shader model we could rely on it there. Then we could rely on a driver version blacklist for most of the rest.
It would make reporting the information in about:gpu a bit more difficult, as the browser wouldn't have access to the renderer's blacklisting logic. We could maybe special-case it, as the shader models are reported to the GpuDataManagerImpl as well.
Comment 1 by dtapu...@chromium.org
, Sep 20 2016