[Xcb] randr: missing xcb_randr_get_screen_info_rates ?

Vincent Torri vtorri at univ-evry.fr
Sun Mar 11 16:20:00 PDT 2007



On Sun, 11 Mar 2007, Ian Osgood wrote:

> As usual, I don't know the answer right away. Here are the steps I go through 
> to answer this:
>
> 1. Find the libXrandr library repository on http://gitweb.freedesktop.org/. 
> Hmph. That won't work this morning; the site is down.
>
> 2. Find the libXrandr source on my local system, since I just downloaded it 
> to test out building the Xorg Quartz server. It resides in lib/libXrandr.
>
> 3. Look for GetScreenInfoRates in libXrandr/src/.  I instead found file 
> XrrConfig.c containing XRRConfigRates and XRRRates.
>
> 4. It appears that XRRRates and similar configuration accessors wrap a cache, 
> the base RRGetScreenInfo request, and the complex reply.
>
> 5. Even more complex, it appears that the reply format changed in version 
> 1.1, adding the rates (see _XRRHasRates in Xrandr.c).
>
> So it looks like you'll need to write some equivalent code around 
> xcb_randr_get_screen_info if all you want is the rates. Perhaps there is an 
> iterator for it? Looking at libxcb/src/randr.h, I see a function 
> xcb_randr_get_screen_info_rates_iterator. Maybe that could help?

actually, I already use the iterators. But I find strange the fact that a 
pointer to the info rates is not available. Also, it's suboptimal. I'm 
wrting a loop instead of using a memcpy.

I remember something similar : about the screens. The answer of Jamey 
(iirc) was that the size of the screens could change. Maybe there's 
something similar here.

the obvious conclusion is that a review of the protocol is needed :) 
Especially since the 1.2 version of ranr is out.

thanks for the answer :)

Vincent


More information about the Xcb mailing list