On 30/08/17 01:45 PM, Louis-Francis Ratté-Boulianne wrote:
> From: Daniel Stone <dani...@collabora.com>
> 
> DRI3 version 1.1 adds support for explicit format modifiers, including
> multi-planar buffers.
> 
> Signed-off-by: Daniel Stone <dani...@collabora.com>
> Signed-off-by: Louis-Francis Ratté-Boulianne <l...@collabora.com>

[...]

> @@ -164,4 +171,119 @@ typedef struct {
>  
>  #define sz_xDRI3FDFromFenceReply   32
>  
> +/* v1.1 */
> +
> +typedef struct {
> +    CARD8   reqType;
> +    CARD8   dri3ReqType;
> +    CARD16  length B16;
> +    CARD32  window B32;
> +    CARD8   depth;
> +    CARD8   bpp;
> +    CARD16  pad10 B16;
> +} xDRI3GetSupportedModifiersReq;
> +#define sz_xDRI3GetSupportedModifiersReq     12
> +
> +typedef struct {
> +    BYTE    type;   /* X_Reply */
> +    CARD8   pad1;
> +    CARD16  sequenceNumber B16;
> +    CARD32  length B32;
> +    CARD32  format B32;
> +    CARD32  numModifiers B32;
> +    CARD32  pad16 B32;
> +    CARD32  pad20 B32;
> +    CARD32  pad24 B32;
> +    CARD32  pad28 B32;
> +} xDRI3GetSupportedModifiersReply;
> +#define sz_xDRI3GetSupportedModifiersReply   32

The reply has a format member...


> @@ -199,6 +202,164 @@ The name of this extension is "DRI3"
>       associated with a direct rendering device that 'fence' can
>       work with, otherwise a Match error results.
>  
> +┌───
> +    DRI3GetSupportedModifiers
> +     window: WINDOW
> +     depth: CARD8
> +     bpp: CARD8
> +      ▶
> +     num_modifiers: CARD32
> +     modifiers: ListOfCARD32
> +└───
> +     Errors: Window, Match
> +
> +     For the Screen associated with 'window', return a list of
> +     supported DRM FourCC modifiers, as defined in drm_fourcc.h,
> +     supported for DRI3 pixmap/buffer interchange.
> +     Each modifier is returned as returned as a CARD32
> +     containing the most significant 32 bits, followed by a
> +     CARD32 containing the least significant 32 bits. The hi/lo
> +     pattern repeats 'num_modifiers' times, thus there are
> +     '2 * num_modifiers' CARD32 elements returned.

... but it's not documented here...


> +┌───
> +    DRI3GetSupportedModifiers
> +     1       CARD8                   major opcode
> +     1       7                       DRI3 opcode
> +     2       3                       length
> +     4       Window                  window
> +     1       CARD8                   depth
> +     1       CARD8                   bpp
> +     2                               unused
> +      ▶
> +     1       1                       Reply
> +        1    0                       unused
> +     2       CARD16                  sequence number
> +     4       CARD32                  reply length
> +     4       CARD32                  num_modifiers
> +     20                              unused
> +
> +     4       ListOfCARD32            modifiers[2*num_modifiers]
> +└───

... or here.


It doesn't seem to get assigned by the xserver code either. A leftover?
(I just happened to notice this, there might be other similar issues)


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to