[RFC dri3proto 01/16] Add modifier/multi-plane requests, bump to v1.1

Daniel Stone daniel at fooishbar.org
Tue Jun 20 16:44:54 UTC 2017


Hi,
Sorry for top-posting but formatting seems to get mangled with the phone
client lately, so.

'Aux plane for alpha or transparency key maybe?' - I should've clarified
aux plane usage earlier. Generally it's used as a compression status buffer
(per tile - or super/super-super tile? - if it's solid or the full tile
needs to be streamed), as well as things like a clear colour. That's how
Intel's CCS handles it, and I understand NV do the same. There's another
compression scheme from another vendor I'm not at liberty to detail, but
it's similar enough wrt this protocol.

AYUV I've only seen in the form of the FourCC of the same name, packed into
32bpp, single plane with no subsampling. I've not heard of an I420a or even
NV12a. So I'll grant you that for RGB, two is enough: single plane colour,
auxiliary buffer compression. But might as well just bite the bullet and
make YUV a bit less insurmountable at the same time.

I'll make sure to cover that in the dri3proto.txt update - thanks!

Cheers,
Daniel

On Mon, 19 Jun 2017 at 7:50 pm, Adam Jackson <ajax at nwnk.net> wrote:

> On Mon, 2017-06-19 at 13:35 +0100, Daniel Stone wrote:
> > On 13 June 2017 at 21:43, Adam Jackson <ajax at nwnk.net> wrote:
> > > On Thu, 2017-06-08 at 19:43 +0100, Daniel Stone wrote:
> > > >
> > > > +typedef struct {
> > > > +    [...]
> > > > +    CARD32  stride0 B32;
> > > > +    CARD32  offset0 B32;
> > > > +    CARD32  stride1 B32;
> > > > +    CARD32  offset1 B32;
> > > > +    CARD32  stride2 B32;
> > > > +    CARD32  offset2 B32;
> > > > +    CARD32  stride3 B32;
> > > > +    CARD32  offset3 B32;
> > > > +    [...]
> > > > +} xDRI3PixmapFromBuffersReq;
> > > > +#define sz_xDRI3PixmapFromBuffersReq 64
> > >
> > > Why exactly four strides/offsets?
> >
> > Because that's what KMS takes for AddFB2, and (not coincidentally)
> > what EGL_EXT_image_dma_buf_import_modifiers also defines tokens for. I
> > don't even know of anyone using four, which would be tri-planar Y/U/V
> > with an auxiliary plane. But seemed prudent to line up with the
> > external APIs.
>
> Aux plane for alpha or transparency key maybe? But thanks, that
> clarifies the intent for me. I wasn't sure whether the multiple buffers
> were for front/back and left/right for stereo or something. If they're
> for planar color then 4 is plenty unless someone wants like CMYKA or
> something silly like that.
>
> - ajax
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.x.org/archives/xorg-devel/attachments/20170620/79ded732/attachment.html>


More information about the xorg-devel mailing list