randr: make padding explicit

Add explicit align-padding for:
* the request "SetCrtcTransform"
  Added 4-byte align-pad between list "filter_name" and list "filter_params"
  The spec does not show the padding
    http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt?id=randrproto-1.5.0#n1173
  But there has to be padding to make accesses to 32-bit values in list
  "filter_params" aligned.
  The Xlib implementation at
    http://cgit.freedesktop.org/xorg/lib/libXrandr/tree/src/XrrCrtc.c?id=libXrandr-1.5.0#n327
  correctly does the padding:
  The string "filter" is written with "Data" which does 4-byte padding at the end:
    http://cgit.freedesktop.org/xorg/lib/libX11/tree/include/X11/Xlibint.h?id=libX11-1.6.3#n535
    http://cgit.freedesktop.org/xorg/lib/libX11/tree/src/xcb_io.c?id=libX11-1.6.3#n484

* the reply of request "GetCrtcTransform"
  Added two 4-byte align-pads:
  - between lists "pending_filter_name" and "pending_params"
    the spec does not show the padding
        http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt?id=randrproto-1.5.0#n1205
    But there has to be padding to make accesses to 32-bit values in list
    "filter_params" aligned.
    The Xlib implementation at
      http://cgit.freedesktop.org/xorg/lib/libXrandr/tree/src/XrrCrtc.c?id=libXrandr-1.5.0#n434
    adds the padding.

  - between lists "current_filter_name" and "current_params"
    the spec does not show the padding
        http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt?id=randrproto-1.5.0#n1205
    But there has to be padding to make accesses to 32-bit values in list
    "current_params" aligned.
    The Xlib implementation at
      http://cgit.freedesktop.org/xorg/lib/libXrandr/tree/src/XrrCrtc.c?id=libXrandr-1.5.0#n445
    adds the padding.

Signed-off-by: Christian Linhart <chris@demorecorder.com>
Reviewed-by: Peter Harris <pharris@opentext.com>
This commit is contained in:
Christian Linhart 2015-09-13 15:45:09 +02:00
parent 8d0c1007a7
commit 4b780da25f

View file

@ -528,6 +528,7 @@ authorization from the authors.
<list type="char" name="filter_name">
<fieldref>filter_len</fieldref>
</list>
<pad align="4" />
<list type="FIXED" name="filter_params" />
</request>
@ -547,12 +548,14 @@ authorization from the authors.
<list type="char" name="pending_filter_name" >
<fieldref>pending_len</fieldref>
</list>
<pad align="4" />
<list type="FIXED" name="pending_params" >
<fieldref>pending_nparams</fieldref>
</list>
<list type="char" name="current_filter_name" >
<fieldref>current_len</fieldref>
</list>
<pad align="4" />
<list type="FIXED" name="current_params" >
<fieldref>current_nparams</fieldref>
</list>