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

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Mar 14 13:36:55 UTC 2017


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

--- Comment #16 from Daniel Stone <daniel at fooishbar.org> ---
(In reply to Nicolas Dufresne (stormer) from comment #15)
> More of less, GstDmabufMeta, will first only implement the modifiers.
> Modifiers are still negotiated through the allocation query, and then set in
> this meta. Not all modifiers will go through this though, e.g. the Samsung
> Tile won't, as it already has GST_VIDEO_FORMAT_NV12_64Z32 that matches, and
> the memory control won't "fix it" if you map it. So the format from
> userspace point of view is the same as the hardware one.

Again, this isn't actually true.

For Intel, X-tiled and Y-tiled surfaces _can_ be linearly mapped through the
GTT, but do not have to be; there is a resource/performance tradeoff to doing
so. From my understanding, Yf- and Ys-tiled _cannot_ be linearly mapped. CCS
(render compression) definitely cannot be linearly mapped, at least for write
access. AFBC (ARM framebuffer compression) cannot be mapped to userspace in a
linear uncompressed view either, at least on hardware I know of. And that's
just scraping the surface of available modifiers.

The very specific case of Intel's current VA-API driver with two particular
tiling formats does expose a linear view, but this is not and will not be true
of even the majority of cases, let alone all.

If you depend on the hardware exposing a view which matches only the format
(rather than format+modifier), this API is broken and needs to be fixed before
it can be used for anything real.

-- 
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