[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