Bug 2835 - add symbol exports for XReadDisplay extension
Summary: add symbol exports for XReadDisplay extension
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Xorg Project Team
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-28 09:03 UTC by Adam Jackson
Modified: 2005-03-31 18:49 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
xreaddisplay-symbols-2.patch (919 bytes, patch)
2005-03-28 09:16 UTC, Adam Jackson
no flags Details | Splinter Review

Description Adam Jackson 2005-03-28 09:03:50 UTC
SGI's XReadDisplay extension requires a few additional symbols to be exported
from the server.
Comment 1 Adam Jackson 2005-03-28 09:16:48 UTC
Created attachment 2222 [details] [review]
xreaddisplay-symbols-2.patch

Export three functions from dix/events.c and one variable from dix/globals.c. 
I'm never happy to be adding SYMVARs but this one appears to be safe, and I
don't see any other way to get its value.
Comment 2 Roland Mainz 2005-03-30 10:24:28 UTC
ajax:
What is XReadDisplay() ?
Comment 3 Adam Jackson 2005-03-30 10:42:14 UTC
aiui, it allows you to read back the colors actually displayed on the screen,
regardless of the visual used in each drawable, (possibly) including overlays.

i don't know of an open source implementation, or even if the spec is published
anywhere; google isn't being particularly helpful.  SGI ships it with their
XFree86-based servers though, and will ship it against Xorg too.

any open source implementation would need these symbols too, since the cursor
could be part of the displayed image.
Comment 4 Roland Mainz 2005-03-30 10:47:34 UTC
(In reply to comment #3)
> aiui, it allows you to read back the colors actually displayed on the screen,
> regardless of the visual used in each drawable, (possibly) including overlays.
> 
> i don't know of an open source implementation, or even if the spec is published
> anywhere; google isn't being particularly helpful.  SGI ships it with their
> XFree86-based servers though, and will ship it against Xorg too.

Any idea how this is different from the |XReadScreen()| function in Solaris (see
http://docs.sun.com/app/docs/doc/802-2011/6i60mct66?a=view) ?
Comment 5 Adam Jackson 2005-03-30 11:00:06 UTC
yes, XReadDisplay() is a superset of XReadScreen():

extern XImage *XReadDisplay (
#if NeedFunctionPrototypes
        Display *       /* dpy */,
        Window          /* src */,
        int             /* x */,
        int             /* y */,
        unsigned int    /* w */,
        unsigned int    /* h */,
        unsigned long   /* hints */,
        unsigned long * /* hints_return */
#endif
);

where hints, in addition to whether to include the cursor, also allows for alpha
channel readback and selection of arbitrary sets of individual overlay/underlay
planes.
Comment 6 Adam Jackson 2005-04-01 12:05:23 UTC
applied, closing.
Comment 7 Roland Mainz 2005-04-01 12:28:44 UTC
(In reply to comment #6)
> applied, closing.

Is there a bug yet to add that API to Xlib ?
Comment 8 Adam Jackson 2005-04-01 12:49:03 UTC
no.  nor will there be, the existing ABI puts the ReadDisplay functions in
libXSGIext.so, not libX11.so.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.