Viz: Roadmap 2018
Wat, 2017/12/07
About this talk
- There was a CPS for Chrome graphics
- We have a goal for 2018
- Chrome Vulkan
- On
- How do we get there?
You Are Here
- We have a relocated display compositor (OOP-D)
- We have OOP-R
We Want This: OOP-D & OOP-R
Aside: Why Do We Want This
- Performance!
- ~15% reduced command buffer overhead
- paintops vs GL from renderer
- CompositorFrames vs GL from display compositor
- ~15% from use of Vulkan (maybe more!)
Viz Interfaces
Aside About UI and Mus
- We have arranged to run
--mus
like this:
- Maybe a lost toy but combining
--mus
and --enable-viz
UI Changes For RasterInterface
- Change Aura UI like this (Eventually):
- Change Mus UI like this:
Why Change Aura UI to RasterInterface
- UI raster thread uses GLES2Interface only to upload software-rasterized UI elements
- RasterInterface will eventually do this directly to Vulkan
- Instead of passing through GL to Vulkan texture transport
- In Salamander: switch UI to generating paint item lists
Work Items
- I've broken the work items into three groups
- First, Next and Next-Next
- Mea culpa: I didn't finish setting up the nice webtech Gantt chart thinger...
First: Metrics
- Tadpole-Vulkan is about performance
- We must have better metrics:
- Existing web platform telemetry m64
- Aura UI for Windows: resize and tab dragging m65
- Android Chrome UI m65
- Aura UI on CrOS m66
First: Vulkan GPU Bots
- Android GPU pixel bots with Vulkan drivers m65
- Windows GPU pixel bots with Vulkan drivers m65
- Linux and CrOS Vulkan bots after.
First: Sluggish Tadpole: M65
- The bare minimum to combine OOP-R and OOP-D
First: Remaining Tasks
- Surface Sync m65
- Skia Bulkupload m66?
Next: Tasks
- OOP-R remaining issues m68
- Prototype Vulkan rendering pipe on android m66 (Front-loaded for Android launch schedule.)
- Android UI m67: RasterInterface converstion, Topbar controls, Selection handles
- Aura UI with RasterInterface m67
- Parallel Skia m68
- Complete SkiaRenderer m67
Next: Virtual GL Contexts
- Android needs context virtualization m66
Next-Next: Parallel GL Pipe
Next-Next: Parallel Vulkan Pipe
- Replace GL with Vulkan m71
Next-Next: Remaining Tasks
- Android GL to Vulkan texture transport m71
- Windows DirectX to Vulkan texture transport m71
Next-Next: CrOS Parallel Vulkan Pipe
- Better CrOS Exo security with GLES execution in separate processes