Toradex did a great job in investigating and improving HW acceleration on Verdin iMX8MP (Vivante GPU).
Torizon OS 7.1.0+build.4 + torizon/chromium-imx8:4.4.0 included a lot of improvements.
Now it’s not clear to me what is the hardware limit, and/or there is some space for improvements/bug-fixing from NXP side. I’ve been waiting for an answer from NXP tech support.
I try to share what I saw, and what I did, and maybe @leon.tx (who is the toradex expert) can share his thoughts too.
If I go to chrome://gpu page I see some interesting items:
Graphics Feature Status
- …
- Canvas out-of-process rasterization: Disabled
- …
- WebGPU: Disabled
Problems Detected
- WebGPU has been disabled via blocklist or the command line.
Disabled Features: webgpu- …
- On Vivante GPUs MSAA performance is not acceptable for GPU rasterization
Applied workarounds: msaa_is slow
It’s not clear to me what is exactly (I understand it’s new and experimental) and which kind of benefits it could bring, but I’ve been able to change WebGPU to Enable adding this command line parameter when launching chromium
--enable-unsafe-webgpu
I don’t know if something changes, but I can see the examples here, so I think that for now it’s better to leave this Disabled.
I’ve been able to enable Canvas out-of-process rasterization adding the following parameters:
--enable-features=CanvasOopRasterization
--enable-gpu-compositing
--enable-gpu-rasterization
--enable-oop-rasterization
--canvas-oop-rasterization
Not sure which kind of improvements this can add, and how to test them.
Any idea?
For the item
On Vivante GPUs MSAA performance is not acceptable for GPU rasterization
Applied workarounds: msaa_is slow
I suspect either some issue from NXP side (because I see it listed under “Problems Detected” section), or a HW limit of the Vivante GC7000UL platform.
@leon.tx do you have an idea on this?
I put here these thoughts because I read that HW acceleration for web application has become a hot topic on this community and it seems that performance on native applications can be high, but on web applications are quite poor on iMX8MP.
And NXP it not so clear defining which is the HW limit and which is the technology (web) limit.
I hope that this can help.