Ian Romanick wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Brian Paul wrote:

Ian Romanick wrote:

Adam Jackson wrote:


My concern with backing this out is how it affects the indirect
rendering case, if at all.  I would prefer that clients not be able
to crash the server by enabling client state and then not filling it
in; although it appears to "work" in indirect mode as it is, so maybe
I'm misguided.

I don't think this case can occur with indirect rendering.  When
indirect rendering is used, the client library packages up all the
enabled arrays and ships all the data to the server.  The server then
takes the data that came from the client and enables the array state for
the data that is present.

The GLX library should unroll/expand vertex arrays into ordinary
glVertex/Color/Normal/Etc calls which get sent over the wire.

The server doesn't know anything about vertex arrays (VBOs aside).


Sure it does.  There *is* protocol defined for vertex arrays.  It's in
the GLX 1.3 protocol doc and in the EXT_vertex_array spec.  I added code
to our libGL support that probably 2 years ago.  AFAIK, the server side
has always supported (it was in the original code drop from SGI).  There
are some cases (e.g., multitexture) where we have to fallback to
glVertex/Color/Normal/Etc calls.

Wow, I didn't realize this. I knew you did some vertex array work a while back, but I thought that was preparation for VBOs. I never even thought to look for server-side vertex array code in the past.

After taking a quick look at the spec, it looks like all array element dereferencing is done client side. Is that correct? If it were done server-side it would need bounds checking.

Incidentally, when I was looking at indirect_vertex_array.c I found this curious bit (line 424):

    if ( arrays->new_DrawArrays_possible ) {
        assert( ! arrays->new_DrawArrays_possible );
    }
    else ...


That can't be right.

-Brian


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to