XGL source code error in xorg/GL/glx/glxdri.c file
Ioannis Nousias
s0238762 at sms.ed.ac.uk
Thu Mar 30 09:36:20 PST 2006
hello everyone. I'm new to the list and I hope this is the right place
to post this.
as many others did :) I've also tried to compile the xgl-0-0-1 branch of
xserver from source. I was successful eventually, but came across this
error.
glxdri.c: In function '__glXDRIdrawableCopySubBuffer':
glxdri.c:199: error: '__DRIdrawable' has no member named 'copySubBuffer'
make[2]: *** [glxdri.lo] Error 1
make[2]: Leaving directory `/tmp/xgl/GL/glx'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/xgl/GL'
make: *** [all-recursive] Error 1
which corresponds to this:
(*private->driDrawable->copySubBuffer)(NULL,
private->driDrawable->private,
x, y, width, height);
"__DRIdrawable" (actually "__DRIdrawableRec") is defined in
GL/internal/dri_intergace.h in Mesa's source code (CVS), which indeed
does not provide a copySubBuffer function pointer.
In the above function "__glXDRIdrawableCopySubBuffer", local variable
"private" is of "__GLXDRIdrawable" type, which has "__GLXdrawable" and
"__DRIdrawable" members. Unlike "__DRIdrawable" , "__GLXdrawable",
which is defined in xorg/GL/glx/glxdrawable.h in xserver's source code,
does provide a copySubBuffer function pointer.
note that the signature of this function is somehow different from that
used above, the correct being : GLboolean
(*copySubBuffer)(__GLXdrawable *, int, int, int, int)
So I modified the above line to this:
(*private->base.copySubBuffer)(NULL, x, y, width, height);
I have no idea if that is correct or not. It compiles and everything
works just fine, but that of course doesn't say much. My feeling is that
this function is not used anyway and most possibly the file should not
be compiled in the first place. So I presume it needs to be disabled
somehow when configuring.
These are the configure options I used for xgl:
./autogen.sh --enable-xgl --disable-xorg --disable-xprint --enable-glx
--enable-dri --with-mesa-source=/tmp/mesa --with-release-snap=1
--disable-dmx --disable-xvfb --disable-xnest --enable-xglx --enable-xkb
--disable-kdriveserver --prefix=/opt/Xgl
I hope this info is useful to you.
take care ! :)
More information about the xorg
mailing list