On 5/7/07, Patrick Baggett <[EMAIL PROTECTED]> wrote: > Hey, I was just peeking through src/mesa/x86/3dnow.c and I found this > message: > > > /* There's a bug somewhere in the 3dnow_normal.S file that causes > * bad shading. Disable for now. > ASSIGN_NORM_GROUP( 3dnow ); > */ > So I got a bit curious and decided to check out src/mesa/x86/3dnow_normal.S > in Mesa-6.5.3. I found a small bug in _mesa_3dnow_rescale_normals at line > 838. > Specifically: > DEC_L ( EDX ) /* decrement normal counter */ > JA ( LLBL (G3R_rescale) ) > > This is attempting to use the fact that most x86 ALU operations set the > EFLAGS register, and branch based upon that result without having to do a > compare. However, this won't work because the DEC instruction does not set > the EFLAGS register like ADD and SUB do. This needs to be: > > SUB_L( CONST(1), EDX) > JA ( LLBL (G3R_rescale) ) /* JNZ would be more appropriate */ > > There is at least one other place that this is done, and I believe that this > might be causing the bug that is mentioned in src/mesa/x86/3dnow.c > I have never submitted code to Mesa before, but if someone could point me in > the right direction as to how this is done, I would like to fix this bug. > > Thanks, > Patrick Baggett
Probably the easiest way would be to make a patch (git diff or git format-patch) and post it to this mailing list. Someone will then commit it into Git. You could also ask for an account if you plan to make further changes in future. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
