Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-26 Thread Roland Scheidegger
Ian Romanick wrote: Perhaps I'm not reading it right, but isn't that the same as: ovf = MIN2( nr, 2 ); for (i = 0 ; i < ovf ; i++) copy_vertex( rmesa, nr-ovf+i, tmp[i] ); return i; In both cases if nr==0 no work is done and 0 is returned. If nr==1 one vertex is copied and 1 i

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Andreas Stenglein
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:

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Ian Romanick
Andreas Stenglein wrote: unfortunately it was only a partial fix (but was enough for that particular program) heres a new one: (and maybe it should be handeld this way with GL_QUAD_STRIP, too) --- radeon_vtxfmt.c_origFri Mar 21 17:22:23 2003 +++ radeon_vtxfmt.cTue Mar 25 07:45:52 2003 @@ -3

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Keith Whitwell
Hmmm, this looks very much like it could be the reason for the problems I reported the other day: http://cpbotha.net/thingies/dri_scapula.png That scapula consists mostly out of triangle strips. :) Yep. This is the vertex copying code. It isn't explained then why turning off the VTXFMT code di

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Charl P. Botha
On Tue, Mar 25, 2003 at 11:26:39PM +0100, Felix Kühling wrote: > On Tue, 25 Mar 2003 20:02:24 + > Keith Whitwell <[EMAIL PROTECTED]> wrote: > > > Gareth Hughes wrote: > > > Andreas Stenglein wrote: > > > > > >> > > >> Yes, at least the part with GL_TRIANGLE_STRIP. > > >> In case of "0" you ca

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Felix Kühling
On Tue, 25 Mar 2003 20:02:24 + Keith Whitwell <[EMAIL PROTECTED]> wrote: > 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; > > >

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread 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

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Gareth Hughes
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; d

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Andreas Stenglein
Am 2003.03.25 10:58:15 +0100 schrieb(en) Keith Whitwell: Andreas, Does this work for you? 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; Keith --- radeon_vtxfmt.c 4 Mar 2003 01:02:33 - 1.10 +++ rad

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Keith Whitwell
Andreas, Does this work for you? Keith --- radeon_vtxfmt.c 4 Mar 2003 01:02:33 - 1.10 +++ radeon_vtxfmt.c 25 Mar 2003 09:56:06 - @@ -312,13 +312,20 @@ return 2; } case GL_TRIANGLE_STRIP: - ovf = MIN2( nr-1, 2 ); + switch (nr) { + case 0: o

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Keith Whitwell
Yes, that's cleaner. (Hi Gareth!) Keith Gareth Hughes wrote: Perhaps: switch (nr) { case 0: return 0; case 1: ovf = 1; break; case 2: ovf = 2; break; default: ovf = MIN2(nr-1, 2); break; } (or similar) would be better, if the code below does in

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-25 Thread Gareth Hughes
Perhaps: switch (nr) { case 0: return 0; case 1: ovf = 1; break; case 2: ovf = 2; break; default: ovf = MIN2(nr-1, 2); break; } (or similar) would be better, if the code below does indeed fix the problem? -- Gareth Andrea

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-24 Thread Andreas Stenglein
unfortunately it was only a partial fix (but was enough for that particular program) heres a new one: (and maybe it should be handeld this way with GL_QUAD_STRIP, too) --- radeon_vtxfmt.c_origFri Mar 21 17:22:23 2003 +++ radeon_vtxfmt.c Tue Mar 25 07:45:52 2003 @@ -312,7 +312,14 @@

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-24 Thread Andreas Stenglein
this patch helps for the demo. but someone more familiar with radeon_vtxfmt should check if it really fixes all cases... I think in case of GL_QUAD_STRIP we should check for 0, too. (and maybe for 1?) --- radeon_vtxfmt.c_origFri Mar 21 17:22:23 2003 +++ radeon_vtxfmt.c Mon Mar 24 21:52:

Re: [Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-24 Thread Keith Whitwell
Andreas Stenglein wrote: this patch helps for the demo. but someone more familiar with radeon_vtxfmt should check if it really fixes all cases... I think in case of GL_QUAD_STRIP we should check for 0, too. (and maybe for 1?) --- radeon_vtxfmt.c_origFri Mar 21 17:22:23 2003 +++ radeon_vtxfmt.c

[Dri-devel] Fallback in radeon_Materialfv() doesnt work

2003-03-17 Thread Andreas Stenglein
Hello, just discovered that the fallback in radeon_Materialfv() in radeon_vtxfmt.c seems to do not work. I disabled the fallback by just printing the function glMaterialfv() to stderr (so I know I'm now running the modified radeon_dri.so) and the result is the same as before, not better, not worse.