Native GpuMemoryBuffer implementation for the phone

Bug #1553302 reported by Chris Coulson
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Triaged
High
Unassigned

Bug Description

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
- Use as a source for EGLImage

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.

Revision history for this message
Chris Coulson (chrisccoulson) wrote :
Changed in oxide:
importance: Undecided → Critical
importance: Critical → High
status: New → Triaged
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

This would also be a significant step towards having a separate GPU process for the browser too.

description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.