[Xcb] toying XCB
Bart Massey
bart@cs.pdx.edu
Tue, 11 Nov 2003 13:20:55 -0800
BTW, I read and committed your patch. Thanks again! If you
want write acccess to the repository, let us know.
Bart Massey
bart@cs.pdx.edu
In message <3FB12859.3000100@wanadoo.fr> you wrote:
> This is a multi-part message in MIME format.
> --------------050601060502010803020306
> Content-Type: text/plain; charset=us-ascii; format=flowed
> Content-Transfer-Encoding: 7bit
>
> Hello,
>
> This afternoon, I decided to waste my free time on today (11 Nov 2003)
> XCB cvs. Everything was played using debian sid. Following is the short
> feedback and correction from cvs I made.
>
> I found the dependencies on Xproto and Xau from FreeDesktop annoying. I
> did not want to modified my current installation (XFree86 4.3 from
> debian experimental project). So, I get the freedesktop cvs for xlibs
> and made autogen.sh then the "./configure --prefix=/usr/X11R6; make" in
> xlibs/Xproto and xlibs/Xau. I did NOT "make install". I copy
> xlibs/Xproto/xproto.pc and xlibs/Xau/xau.pc in /usr/lib/pkgconfig (may
> be /lib/pkgconfig on other distro).
>
> During the ./autogen.sh adventures, I get lot of complains and errors. I
> upgraded to the automake1.8 package. Errors vanished after cleanin up
> old stuff from previous automake. The automake1.4 was too old.
>
> I went to compile xcb/xcb-proto:
>
> ./autogen.sh
> ./configure --prefix=/usr
> make
> make install
>
> I then go to xcb/xcb
>
> ./autogen.sh
> ./configure --prefix=/usr/X11R6
> make
> make install
> ldconfig # for updating the installed library
>
> Everything went smooth with automake version corrected.
>
> The place of xcb.pc is wrong, I modified it by hand:
> mv /usr/X11R6/lib/pkgconfig/xcb.pc /usr/lib/pkgconfig/
> rmdir /usr/X11R6/lib/pkgconfig
>
> Then I tried the stuff in xcb-demo.
>
> I got lot of troubles for each demos but were just minors typos in the
> end. I included at the end the small corrections I made (a compile.sh
> help is included per directory). All demos compiled and ran.
>
> rendertest display was garbage using XFree86 4.3 with a radeon 9000. It
> worked nicely with a remote display on MacOS X using last XonX (XFree86
> 4.3)for 10.2.8.
>
>
>
> --------------050601060502010803020306
> Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0";
> name="diff"
> Content-Transfer-Encoding: quoted-printable
> Content-Disposition: inline;
> filename="diff"
>
> diff -Nru --exclude-from=3Dexclude-files xcb/xcb-demo/hypnomoire/compile.=
> sh xcb.my/xcb-demo/hypnomoire/compile.sh
> --- xcb/xcb-demo/hypnomoire/compile.sh 1970-01-01 01:00:00.000000000 +010=
> 0
> +++ xcb.my/xcb-demo/hypnomoire/compile.sh 2003-11-11 16:04:16.000000000 +=
> 0100
> @@ -0,0 +1 @@
> +gcc -Wall -o hypnomoire hypnomoire.c ../tests/reply_formats.c -I../tests=
> / `pkg-config --libs --cflags xcb` -lm -lpthread
> Les fichiers binaires xcb/xcb-demo/hypnomoire/hypnomoire et xcb.my/xcb-de=
> mo/hypnomoire/hypnomoire sont diff=E9rents.
> diff -Nru --exclude-from=3Dexclude-files xcb/xcb-demo/hypnomoire/hypnomoi=
> re.c xcb.my/xcb-demo/hypnomoire/hypnomoire.c
> --- xcb/xcb-demo/hypnomoire/hypnomoire.c 2002-06-05 13:38:29.000000000 +0=
> 200
> +++ xcb.my/xcb-demo/hypnomoire/hypnomoire.c 2003-11-11 16:10:59.000000000=
> +0100
> @@ -47,7 +47,7 @@
> DRAWABLE rootwin;
> =20
> c =3D XCBConnectBasic();
> - root =3D XCBConnSetupSuccessReproots(c->setup).data;
> + root =3D XCBConnSetupSuccessRepRoots(c->setup).data;
> =20
> rootwin.window =3D root->root;
> white =3D XCBGCONTEXTNew(c);
> @@ -110,7 +110,7 @@
> values[1] =3D ButtonReleaseMask | ExposureMask;
> values[2] =3D ButtonPressMask;
> =20
> - depth =3D SCREENallowed_depths(root).data->depth;
> + depth =3D SCREENAllowedDepths(root).data->depth;
> =20
> XCBCreateWindow(c, depth, windows[idx].w.window, root->root,
> /* x */ 0, /* y */ 0,
> diff -Nru --exclude-from=3Dexclude-files xcb/xcb-demo/tests/compile.sh xc=
> b.my/xcb-demo/tests/compile.sh
> --- xcb/xcb-demo/tests/compile.sh 1970-01-01 01:00:00.000000000 +0100
> +++ xcb.my/xcb-demo/tests/compile.sh 2003-11-11 16:37:29.000000000 +0100
> @@ -0,0 +1,4 @@
> +[ -e main ] || gcc -Wall -o main main.c reply_formats.c `pkg-config --li=
> bs --cflags xcb` -lm -lpthread
> +[ -e rendertest ] || gcc -Wall -o rendertest rendertest.c reply_formats.=
> c `pkg-config --libs --cflags xcb` -lm -lpthread
> +[ -e dpms ] || gcc -Wall -o dpms dpms.c reply_formats.c `pkg-config --li=
> bs --cflags xcb` -lm -lpthread
> +
> Les fichiers binaires xcb/xcb-demo/tests/dpms et xcb.my/xcb-demo/tests/dp=
> ms sont diff=E9rents.
> diff -Nru --exclude-from=3Dexclude-files xcb/xcb-demo/tests/dpms.c xcb.my=
> /xcb-demo/tests/dpms.c
> --- xcb/xcb-demo/tests/dpms.c 2002-06-05 10:16:17.000000000 +0200
> +++ xcb.my/xcb-demo/tests/dpms.c 2003-11-11 16:37:43.000000000 +0100
> @@ -5,7 +5,7 @@
> */
> =20
> #include <X11/XCB/xcb.h>
> -#include <X11/XCB/xcb_dpms.h>
> +#include <X11/XCB/dpms.h>
> #include <assert.h>
> #include <stdlib.h>
> #include <stdio.h>
> Les fichiers binaires xcb/xcb-demo/tests/main et xcb.my/xcb-demo/tests/ma=
> in sont diff=E9rents.
> diff -Nru --exclude-from=3Dexclude-files xcb/xcb-demo/tests/main.c xcb.my=
> /xcb-demo/tests/main.c
> --- xcb/xcb-demo/tests/main.c 2003-10-11 10:49:01.000000000 +0200
> +++ xcb.my/xcb-demo/tests/main.c 2003-11-11 16:14:34.000000000 +0100
> @@ -23,7 +23,6 @@
> #include <stdlib.h>
> =20
> #include <X11/XCB/xcb.h>
> -#include <X11/XCB/xcb_event.h>
> #include "reply_formats.h"
> =20
> void try_events(XCBConnection *c);
> @@ -59,7 +58,7 @@
> #endif
> =20
> c =3D XCBConnectBasic();
> - root =3D XCBConnSetupSuccessReproots(c->setup).data;
> + root =3D XCBConnSetupSuccessRepRoots(c->setup).data;
> =20
> #ifdef TEST_THREADS
> # ifdef VERBOSE
> @@ -94,7 +93,7 @@
> mask |=3D XCBCWDontPropagate;
> values[5] =3D ButtonPressMask;
> =20
> - XCBCreateWindow(c, SCREENallowed_depths(root).data->depth,
> + XCBCreateWindow(c, SCREENAllowedDepths(root).data->depth,
> window, root->root,
> /* x */ 20, /* y */ 200, /* width */ 150, /* height */ 150,
> /* border_width */ 10, /* class */ InputOutput,
> Les fichiers binaires xcb/xcb-demo/tests/rendertest et xcb.my/xcb-demo/te=
> sts/rendertest sont diff=E9rents.
> diff -Nru --exclude-from=3Dexclude-files xcb/xcb-demo/tests/rendertest.c =
> xcb.my/xcb-demo/tests/rendertest.c
> --- xcb/xcb-demo/tests/rendertest.c 2002-06-17 09:32:26.000000000 +0200
> +++ xcb.my/xcb-demo/tests/rendertest.c 2003-11-11 16:32:39.000000000 +010=
> 0
> @@ -1,12 +1,14 @@
> =20
> #include <X11/XCB/xcb.h>
> -#include <X11/XCB/xcb_render.h>
> +#include <X11/XCB/render.h>
> #include <stdio.h>
> +#include <stdlib.h>
> +#include <unistd.h>
> =20
> /*
> * FUNCTION PROTOTYPES
> */
> -int print_version_info(XCBRenderQueryVersionRep *reply);
> +void print_version_info(XCBRenderQueryVersionRep *reply);
> int print_formats_info(XCBRenderQueryPictFormatsRep *reply);
> int draw_window(XCBConnection *conn, XCBRenderQueryPictFormatsRep *reply=
> );
> PICTFORMAT get_pictformat_from_visual(XCBRenderQueryPictFormatsRep *repl=
> y, VISUALID visual);
> @@ -15,10 +17,10 @@
> XCBConnection *c;
> PICTFORMAT pf;
> =20
> -int print_version_info(XCBRenderQueryVersionRep *reply)
> +void print_version_info(XCBRenderQueryVersionRep *reply)
> {
> =20
> - fprintf(stdout, "Render Version: %d.%d\n", reply->major_version,=20
> + fprintf(stdout, "Render Version: %ld.%ld\n", reply->major_version,=20
> reply->minor_version);
> }
> =20
> @@ -32,8 +34,8 @@
> PICTFORMINFOIter forminfo_iter;
> PICTSCREENIter screen_iter;
> =20
> - forminfo_iter =3D XCBRenderQueryPictFormatsformats(reply);
> - screen_iter =3D XCBRenderQueryPictFormatsscreens(reply);
> + forminfo_iter =3D XCBRenderQueryPictFormatsFormats(reply);
> + screen_iter =3D XCBRenderQueryPictFormatsScreens(reply);
> =20
> fprintf(stdout, "Number of PictFormInfo iterations: %d\n", forminfo_=
> iter.rem);
> =20
> @@ -45,7 +47,7 @@
> PICTFORMINFO *forminfo =3D (PICTFORMINFO *)forminfo_iter.data;
> =20
> fprintf(stdout, "PICTFORMINFO #%d\n", 1 + num_formats - forminfo=
> _iter.rem);
> - fprintf(stdout, " PICTFORMAT ID: %d\n", forminfo->id=
> =2Exid);
> + fprintf(stdout, " PICTFORMAT ID: %ld\n", forminfo->i=
> d.xid);
> fprintf(stdout, " PICTFORMAT Type: %d\n", forminfo->ty=
> pe);
> fprintf(stdout, " PICTFORMAT Depth: %d\n", forminfo->de=
> pth);
> fprintf(stdout, " Direct RedShift: %d\n", forminfo->di=
> rect.red_shift);
> @@ -67,9 +69,9 @@
> PICTSCREEN *cscreen =3D screen_iter.data;
> =20
> fprintf(stdout, "Screen #%d\n", 1 + num_screens - screen_iter.re=
> m);
> - fprintf(stdout, " Depths for this screen: %d\n", cscreen->=
> num_depths);
> - fprintf(stdout, " Fallback PICTFORMAT: %d\n", cscreen->=
> fallback.xid);
> - depth_iter =3D PICTSCREENdepths(cscreen);
> + fprintf(stdout, " Depths for this screen: %ld\n", cscreen-=
> >num_depths);
> + fprintf(stdout, " Fallback PICTFORMAT: %ld\n", cscreen-=
> >fallback.xid);
> + depth_iter =3D PICTSCREENDepths(cscreen);
> =20
> num_depths =3D cscreen->num_depths;
> while(depth_iter.rem)
> @@ -80,7 +82,7 @@
> fprintf(stdout, " Depth #%d\n", 1 + num_depths - depth_it=
> er.rem);
> fprintf(stdout, " Visuals for this depth: %d\n", c=
> depth->num_visuals);
> fprintf(stdout, " Depth: %d\n", c=
> depth->depth);
> - visual_iter =3D PICTDEPTHvisuals(cdepth);
> + visual_iter =3D PICTDEPTHVisuals(cdepth);
> =20
> num_visuals =3D cdepth->num_visuals;
> while(visual_iter.rem)
> @@ -88,8 +90,8 @@
> PICTVISUAL *cvisual =3D visual_iter.data;
> =20
> fprintf(stdout, " Visual #%d\n", 1 + num_visuals =
> - visual_iter.rem);
> - fprintf(stdout, " VISUALID: %d\n", cvisu=
> al->visual.id);
> - fprintf(stdout, " PICTFORMAT: %d\n", cvisu=
> al->format.xid);
> + fprintf(stdout, " VISUALID: %ld\n", cvis=
> ual->visual.id);
> + fprintf(stdout, " PICTFORMAT: %ld\n", cvis=
> ual->format.xid);
> PICTVISUALNext(&visual_iter);
> }
> PICTDEPTHNext(&depth_iter);
> @@ -118,7 +120,7 @@
> POINTFIX trifans[9];
> int index;
> =20
> - root =3D XCBConnSetupSuccessReproots(c->setup).data;
> + root =3D XCBConnSetupSuccessRepRoots(c->setup).data;
> root_drawable.window =3D root->root;
> =20
> /* Setting query so that it will search for an 8 bit alpha surface. =
> */
> @@ -413,18 +415,18 @@
> PICTVISUAL *cvisual;
> PICTFORMAT return_value;
> =20
> - screen_iter =3D XCBRenderQueryPictFormatsscreens(reply);
> + screen_iter =3D XCBRenderQueryPictFormatsScreens(reply);
> =20
> while(screen_iter.rem)
> {
> cscreen =3D screen_iter.data;
> =20
> - depth_iter =3D PICTSCREENdepths(cscreen);
> + depth_iter =3D PICTSCREENDepths(cscreen);
> while(depth_iter.rem)
> {
> cdepth =3D depth_iter.data;
> =20
> - visual_iter =3D PICTDEPTHvisuals(cdepth);
> + visual_iter =3D PICTDEPTHVisuals(cdepth);
> while(visual_iter.rem)
> {
> cvisual =3D visual_iter.data;
> @@ -447,7 +449,7 @@
> {
> PICTFORMINFOIter forminfo_iter;
> =20
> - forminfo_iter =3D XCBRenderQueryPictFormatsformats(reply);
> + forminfo_iter =3D XCBRenderQueryPictFormatsFormats(reply);
> =20
> while(forminfo_iter.rem)
> {
> @@ -510,7 +512,7 @@
> PICTFORMINFO forminfo_query, *forminfo_result;
> =20
> c =3D XCBConnectBasic();
> - root =3D XCBConnSetupSuccessReproots(c->setup).data;
> + root =3D XCBConnSetupSuccessRepRoots(c->setup).data;
> =20
> version_cookie =3D XCBRenderQueryVersion(c, (CARD32)0, (CARD32)3);
> version_reply =3D XCBRenderQueryVersionReply(c, version_cookie, 0);
> @@ -533,10 +535,10 @@
> forminfo_query.direct.alpha_mask =3D 255;
> =20
> forminfo_result =3D get_pictforminfo(formats_reply, &forminfo_query)=
> ;
> - fprintf(stdout, "\n***** found PICTFORMAT: %d *****\n",
> + fprintf(stdout, "\n***** found PICTFORMAT: %ld *****\n",
> forminfo_result->id.xid);
> rootformat =3D get_pictformat_from_visual(formats_reply, root->root_=
> visual);
> - fprintf(stdout, "\n***** found root PICTFORMAT: %d *****\n", rootf=
> ormat.xid);
> + fprintf(stdout, "\n***** found root PICTFORMAT: %ld *****\n", root=
> format.xid);
> =20
> //draw_window(c, formats_reply);
> =20
> diff -Nru --exclude-from=3Dexclude-files xcb/xcb-demo/tests/reply_formats=
> =2Ec xcb.my/xcb-demo/tests/reply_formats.c
> --- xcb/xcb-demo/tests/reply_formats.c 2002-03-21 20:11:31.000000000 +010=
> 0
> +++ xcb.my/xcb-demo/tests/reply_formats.c 2003-11-11 18:21:25.000000000 +=
> 0100
> @@ -95,7 +95,7 @@
> =20
> for(i =3D 0; i < reply->children_len; ++i)
> printf(" window " WINFMT "\n",
> - (unsigned int) XCBQueryTreechildren(reply)[i].xid);
> + (unsigned int) XCBQueryTreeChildren(reply)[i].xid);
> =20
> fflush(stdout);
> return 1;
> diff -Nru --exclude-from=3Dexclude-files xcb/xcb-demo/xapps/compile.sh xc=
> b.my/xcb-demo/xapps/compile.sh
> --- xcb/xcb-demo/xapps/compile.sh 1970-01-01 01:00:00.000000000 +0100
> +++ xcb.my/xcb-demo/xapps/compile.sh 2003-11-11 16:39:36.000000000 +0100
> @@ -0,0 +1,2 @@
> +[ -e xdpyinfo ] || gcc -Wall -o xdpyinfo xdpyinfo.c `pkg-config --libs -=
> -cflags xcb` -lm -lpthread
> +
> Les fichiers binaires xcb/xcb-demo/xapps/xdpyinfo et xcb.my/xcb-demo/xapp=
> s/xdpyinfo sont diff=E9rents.
>
> --------------050601060502010803020306--
>
>
> _______________________________________________
> Xcb mailing list
> Xcb@pdx.freedesktop.org
> http://pdx.freedesktop.org/cgi-bin/mailman/listinfo/xcb