[Bug 779146] dmabuf: be able to negotiate tiled surfaces

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Feb 24 20:06:18 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=779146

Daniel Stone <daniel at fooishbar.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel at fooishbar.org

--- Comment #9 from Daniel Stone <daniel at fooishbar.org> ---
(In reply to Julien Isorce from comment #7)
> I can see there are 3 different way to do tiling for intel: X, Y, Yf. But
> the vaapi spec (va.h from libva) only defines one flag:
> VA_SURFACE_EXTBUF_DESC_ENABLE_TILING. But I am guessing this is not really a
> problem because at importation time it will internally call
> "libdrm::dri_bo_get_tiling" to retrieve exact internal tiling and swizzle.

The get_tiling() call is very much unsupported, and doesn't even work for some
of the newer tiling formats. The replacement is to pass modifiers all along the
way - which I suppose would make the libva API insufficient.

> Also maybe the name should be GsDmabufModifierMeta instead of
> GsDmabufBackedFormatMeta ?
> Or could we just add a new field "guint64 tiling/format_modifier" to the
> existing -base::GstVideoMeta ? + eventually a new GstVideoFrameFlags
> GST_VIDEO_FRAME_FLAG_LINEAR which would indicates that when mapping the
> dmabuf it will be accessible as linear even if the modifier indicates tiled.

Please just format_modifier, and it's not just for tiling. Support is coming up
for render-compression modes from various hardware vendors, which is either a
single buffer in a proprietary compression format, or a normal flat buffer with
external compression metadata (thus occupying more space in memory, but needing
to read less of it) in another plane.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list