On 12.12.2014 20:27, Daniel Stone wrote: > On 10 December 2014 at 17:17, Rob Clark <robdclark@xxxxxxxxx > <mailto:robdclark@xxxxxxxxx>> 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel