[RFC] drm: add support for tiled/compressed/etc modifier in addfb2

Michel Dänzer michel at daenzer.net
Mon Dec 15 19:56:57 PST 2014


On 12.12.2014 20:27, Daniel Stone wrote:
> On 10 December 2014 at 17:17, Rob Clark <robdclark at gmail.com
> <mailto:robdclark at gmail.com>> wrote:
> 
>     In DRM/KMS we are lacking a good way to deal with tiled/compressed
>     formats.  Especially in the case of dmabuf/prime buffer sharing, where
>     we cannot always rely on under-the-hood flags passed to driver specific
>     gem-create ioctl to pass around these extra flags.
> 
>     The proposal is to add a per-plane format modifier.  This allows to, if
>     necessary, use different tiling patters for sub-sampled planes, etc.
>     The format modifiers are added at the end of the ioctl struct, so for
>     legacy userspace it will be zero padded.
> 
> 
> Cool, thanks a lot for looking at this! My one comment is that we could
> maybe go even further: keep the current modifier as a strict
> pixel-layout modifier (e.g. tiled, compressed - anything that affects
> how you actually determine pixel location), and then support an extra
> (perhaps non-vendor-namespaced) argument for optional pixel
> _interpretation_ modifiers, e.g. the hints in
> EGL_EXT_image_dma_buf_import. V4L2 is starting to properly attack things
> like chroma siting, and being able to specify narrow/wide YUV range is
> pretty important for STB/DTV in particular. And they're actually
> starting to move to KMS, too ...
> 
> It might be useful to make the interpretation modifiers bitmaskable, so
> they can be combined (e.g. wide-range/unclamped YUV | whatever chroma
> siting), but I can't think of a usecase for combining multiple layout
> modifiers (e.g. this tiling | that compression).

I might be misunderstanding what you're referring to, but FWIW: With AMD
GPUs, the compression format and tiling parameters can be chosen
(mostly) independently.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the dri-devel mailing list