Bug 1616185 Comment 5 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(In reply to Jean-Yves Avenard [:jya] from comment #4)
> Do you intend to complete things so that there's no readbacks?
> 
> When we last play with this approach, performance was consistently worse than with software decoders

I'm not sure what do you mean with "no readbacks". Do you mean that we should copy every frame right after creation from vasurface DRM buffer to a new gl texture and then render from it? I can check that.

Right now I use the direct rendering from va surface and I see rapid performance improvement than SW decoding. I checked mpv and it uses the same method (draw directly from vasurface) and it's the fastest rendering/playback I've seen so far.

There's also a difference if the video is played by WebRender or GL compositor, where GL compositor seems to work bette and I see rendering artifacts in WebRender. Right now I'd go for direct rendering & gl compositor which works for me.

I can implement the vasurface -> gl texture at WaylandDMABUFSurface which can be optionally enabled so there may be no much difference in the  patches I submitted.
(In reply to Jean-Yves Avenard [:jya] from comment #4)
> Do you intend to complete things so that there's no readbacks?
> 
> When we last play with this approach, performance was consistently worse than with software decoders

I'm not sure what do you mean with "no readbacks". Do you mean that we should copy every frame right after creation from vasurface DRM buffer to a new gl texture and then render from it? I can check that.

Right now I use the direct rendering from va surface and I see rapid performance improvement than SW decoding. I checked mpv and it uses the same method (draw directly from vasurface) and it's the fastest rendering/playback I've seen so far.

There's also a difference if the video is played by WebRender or GL compositor, where GL compositor seems to work bette and I see rendering artifacts in WebRender. Right now I'd go for direct rendering & gl compositor which works for me.

I can implement the vasurface -> gl texture copy at WaylandDMABUFSurface which can be optionally enabled so there may be no much difference in the  patches I submitted (we just don't need to keep reference to DRM buffers in this case).

Back to Bug 1616185 Comment 5