[PATCH 1/2 v2] dri2proto: Add DRI2GetParam request

Alan Coopersmith alan.coopersmith at oracle.com
Mon May 14 17:51:55 PDT 2012


On 05/14/12 03:23 PM, Chad Versace wrote:
> +	Parameter names in which the value of the most signficant byte is 0 are
> +	reserved for the X server. Names in which the byte's value is 1 are
> +	reserved for the DDX. Names in which the byte's value is neither 0
> +	nor 1 are reserverd for future use.

Typos highlighted by Thunderbird when it quoted your message for my reply:
	signficant -> significant
	reserverd -> reserved

So just to make sure I'm understanding correctly - a "name" is really a 32-bit
enum from a unique space, not an Atom or any other existing namespace, right?

Where will the master list of these be maintained to avoid conflicts?   Server
ones in dri2proto.txt/dri2proto.h and driver ones in each driver's headers?

> +     ▶
> +	1	1			Reply
> +	1				unused
> +	2	CARD16			sequence number
> +	4	0			reply length
> +	1	BOOL			is_param_recognized
> +	3				unused
> +	4	CARD32			value_hi
> +	4	CARD32			value_lo
> +	12				unused

Seems like "is_param_recognized" could go in the unused byte after
Reply and then get rid of the 3 padding bytes in the middle, i.e.:

+     ▶
+	1	1			Reply
+	1	BOOL			is_param_recognized
+	2	CARD16			sequence number
+	4	0			reply length
+	4	CARD32			value_hi
+	4	CARD32			value_lo
+	16				unused

Both simpler, and hopefully better alignment for the two value_*,
since they'll start on a 64-bit aligned boundary.   (Plus more
space for future expansion, if it ever becomes necessary.)

-- 
	-Alan Coopersmith-              alan.coopersmith at oracle.com
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc


More information about the xorg-devel mailing list