diff options
author | Christian Linhart <chris@demorecorder.com> | 2015-09-13 15:45:09 +0200 |
---|---|---|
committer | Christian Linhart <chris@demorecorder.com> | 2015-10-26 17:33:26 +0100 |
commit | 4b780da25fffeb4c1c042f05d618e93407b2fe77 (patch) | |
tree | 6ad0e25e0b481480d512d456d07ad147ba703725 | |
parent | 8d0c1007a7dd776f0163533464070731b6ebfc9b (diff) |
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>
-rw-r--r-- | src/randr.xml | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/randr.xml b/src/randr.xml index 7dfc8a9..722f715 100644 --- a/src/randr.xml +++ b/src/randr.xml @@ -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> |