[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mesa3d-dev
Subject:    [Mesa3d-dev] Protocol for glGenQueriesARB
From:       Ian Romanick <idr () us ! ibm ! com>
Date:       2005-06-22 15:08:07
Message-ID: 42B97ED7.2080502 () us ! ibm ! com
[Download RAW message or body]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jeremy@freedesktop.org wrote:
> CVSROOT:	/cvs/mesa
> Module name:	Mesa
> Repository:	Mesa/src/mesa/glapi/
> Changes by:	jkolb@gabe.	05/06/21 19:36:28
> 
> Log message:
> Fixed a bug where GenQueriesARB was generating the wrong code for XCB and wouldn't \
> compile.  Not sure how that slipped through before but it should work now. 
> Modified files:
> Mesa/src/glx/x11/:
> indirect.c indirect_init.c 
> Mesa/src/mesa/glapi/:
> glX_proto_send.py 
> 
> Revision      Changes    Path
> 1.21          +0 -3      Mesa/src/glx/x11/indirect.c
> http://cvs.freedesktop.org/mesa/Mesa/src/glx/x11/indirect.c
> 1.14          +10 -10    Mesa/src/glx/x11/indirect_init.c
> http://cvs.freedesktop.org/mesa/Mesa/src/glx/x11/indirect_init.c

For whatever reason, the only change here was some white-space in
generated comments.  Please don't commit no-op changes like this.

> 1.29          +1 -1      Mesa/src/mesa/glapi/glX_proto_send.py
> http://cvs.freedesktop.org/mesa/Mesa/src/mesa/glapi/glX_proto_send.py

I don't think this is the right fix for this.  I looked at it a little
be more, and I believe that GenQueriesARB should be always_array="true".
 However, I think the XCB code that is generated for all the
always_array="true" cases is wrong.  For example, GetClipPlane looks
something like:

void
__indirect_glGetClipPlane(GLenum plane, GLdouble * equation)
{
    __GLXcontext * const gc = __glXGetCurrentContext();
    Display * const dpy = gc->currentDpy;
    const GLuint cmdlen = 4;
    if (__builtin_expect(dpy != NULL, 1)) {
        XCBConnection *c = XCBConnectionOfDisplay(dpy);
        (void) __glXFlushRenderBuffer(gc, gc->pc);
        XCBGlxGetClipPlaneRep *reply = XCBGlxGetClipPlaneReply(c,
XCBGlxGetClipPlane(c, gc->currentContextTag, plane), NULL);
        equation = (GLdouble *)XCBGlxGetClipPlaneData(reply);
        free(reply);
    }
    return;
}

Clearly, assigning *anything* to 'equation' is somewhere between dubious
and dead-wrong.

Unless you see a problem doing so, I'm going to back-out the special
case of GenQueriesARB and mark that function always_array="true" in the
XML.  Sound good?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCuX7WX1gOwKyEAw8RAlnbAJ9MxbYMOhXTWICQr4x/uD12UW5xgACeJMY2
RE4hfBIaQVPsle0rxSjl1JU=
=9eOU
-----END PGP SIGNATURE-----



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic