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

Reply via email to