[Wayland] Implement basic Wayland dmabuf surface support
Categories
(Core :: Graphics, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | affected |
People
(Reporter: stransky, Assigned: stransky)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file, 2 obsolete files)
95.32 KB,
patch
|
Details | Diff | Splinter Review |
Wayland dmabuf surface are located in GPU and can be attached as EGLImage or wl_buffer. It allows direct rendering to GPU and share the HW buffer across processes.
Assignee | ||
Comment 1•6 years ago
|
||
WIP patch
Comment 2•6 years ago
|
||
For me build fails with
15:31.86 mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/mozilla/widget/nsWaylandDisplay.h:19:12: fatal error: 'drm/drm_fourcc.h' file not found
15:31.86 # include <drm/drm_fourcc.h>
15:31.86 ^~~~~~~~~~~~~~~~~~
Same for mozilla-unified/gfx/2d/WaylandSurface.cpp
On Arch Linux.
Replacing drm with libdrm fixes the compilation issue (result not tested yet though).
Assignee | ||
Comment 3•6 years ago
|
||
(In reply to Francois Guerraz from comment #2)
For me build fails with
mozilla-unified/gfx/2d/WaylandSurface.cpp:10: 15:31.86 mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/mozilla/widget/ nsWaylandDisplay.h:19:12: fatal error: 'drm/drm_fourcc.h' file not found 15:31.86 # include <drm/drm_fourcc.h> 15:31.86 ^~~~~~~~~~~~~~~~~~
It's really wip and don't expect anything from it right now.
Comment 4•6 years ago
|
||
always happy to test new cool features / optimizations :-)
I've been running it for a few hours, I don't know if the code path is used anywhere yet, but I didn't notice any problem. Let us know when there is something to expect from it.
Assignee | ||
Comment 5•6 years ago
|
||
Use DMAbuf as a Wayland backend. Not finished/polished yet.
Comment 6•6 years ago
|
||
Not sure this is useful feedback because you probably know about it already. It's working but it's really really slow and I get a lot of
Hard copy 3200 x 1746 -> 22348800```
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 7•6 years ago
|
||
Working patch, uses DMABuf as Wayland backend if gfx.wayland_dmabuf_backend.enabled is set to true.
Comment 8•6 years ago
|
||
I have not tried the individual patches, but the latest unified one with gfx.wayland_dmabuf_backend.enabled and no odd behaviour so far, slowdown is gone.
Comment 9•6 years ago
|
||
I don't know if it's related, but I got this: bp-17143081-1ae6-4a48-8f2f-d79820190528 ... probably not super helpful backtrace.
Assignee | ||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 10•6 years ago
|
||
When the feature is enabled, is there any visibility in about:support ? How do we know it's working/enabled?
Assignee | ||
Comment 11•6 years ago
|
||
(In reply to Francois Guerraz from comment #10)
When the feature is enabled, is there any visibility in about:support ? How
do we know it's working/enabled?
No, there's no evidence is enabled right now :) We should address that.
Assignee | ||
Comment 12•6 years ago
|
||
(In reply to Francois Guerraz from comment #10)
When the feature is enabled, is there any visibility in about:support ? How
do we know it's working/enabled?
Filed as Bug 1561859.
Comment 13•6 years ago
|
||
Is this also required (or beneficial) for hardware video decoding (bug 1210726)? In that case, should we mark it as blocker?
Comment 14•5 years ago
|
||
Could this help with terrible performance in situations like fishbowl benchmark? (W10: FF and Chrome ~60fps, Linux: Chrome 60fps, FF 7fps)
Assignee | ||
Comment 15•5 years ago
|
||
(In reply to mthw0 from comment #14)
Could this help with terrible performance in situations like fishbowl benchmark? (W10: FF and Chrome ~60fps, Linux: Chrome 60fps, FF 7fps)
This is Bug 1572697.
This one can be closed as basic dmabuf support landed.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Description
•