Comment 0 for bug 1553302

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

We don't have a native GpuMemoryBuffer implementation in Oxide, instead falling back to the software implementation (using shared memory).

chrome://tracing/ shows there's a lot of contention for the GPU thread on the phone, and a not-insignificant cause of this is texture uploads. Having a native GpuMemoryBuffer implementation would significantly improve this.

What we needs is a graphics buffer that we can:
- Rasterize directly to
- Share between processes

https://01.org/blogs/2016/native-one-copy-texture-uploads-for-chrome-OS has some information about how this is implemented on the various Chrome platforms.

The attached photo (sorry, no screenshots on Freiza) shows an instance where the GPU thread is blocked for around 10ms just doing texture uploads.