Am 2003.03.25 21:02:24 +0100 schrieb(en) Keith Whitwell:
Gareth Hughes wrote:
Andreas Stenglein wrote:


Yes, at least the part with GL_TRIANGLE_STRIP. In case of "0" you can just return 0, no copying is needed.

case 0: return 0; break;


You're going to do that, just in a slightly different manner:

switch (nr) {
case 0: ovf = 0; break;
case 1: ovf = 1; break;
default: ovf = 2; break;
}
for (i = 0 ; i < ovf ; i++)
copy_vertex( rmesa, nr-ovf+i, tmp[i] );
return i; When nr == 0, ovf gets set to 0 and you do no iterations of the for loop. You'll then return i, which was initialized to 0.

so in the end for nr>=0 ovf could be calculated almost as in the original version: ovf= MIN2(nr, 2); (for GL_TRIANGLE_STRIP)

ovf= MIN2(nr, 2);
if (nr > 2) ovf += nr&1; (for GL_QUAD_STRIP)


OK, this isn't perf critical code, so I'll just commit the clearest version.


This is all queued up now pending the merge completion, which is also waiting on me...

Keith


-------------------------------------------------------
This SF.net email is sponsored by:
The Definitive IT and Networking Event. Be There!
NetWorld+Interop Las Vegas 2003 -- Register today!
http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to