The conditions under which GPU rasterization is triggered are outlined in this page:
Once a page is in GPU rasterization mode, we draw its entire contents on the GPU. That includes HTML elements, images, text, paths, etc. etc.
There are a couple of details worth noting:
* Text: For text we currently use a bitmap-based glyph cache. We're also experimenting with Distance Field based text, currently triggerable via a command-line flag.
* Images: Images are decoded on the cpu and uploaded as RGBA textures. In ToT we have an experimental flag to allow decoding of some jpeg images to YUV and doing the color space conversion in a shader to speed up decoding and uploads.
* Paths: Some path objects are drawn via shaders directly on the GPU while others (mostly depending on complexity) require a software rasterization step. Pages with too many complex paths currently get "vetoed" and fall back to the software raster backend. There is ongoing work to add support for NVIDIA's NVPR extension. We're also investigating alternative techniques for moving more of the path rendering logic to the GPU.
Hope this helps.
Vangelis