mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
swrast/sse: Fix _mesa_sse_transform_pointsX_3d_no_rot
PXOR user in code were causing the lowest SP float register to have NaN
values which made all math operations in that slot fail. Correct istruction
to clear float registers is XORPS which handles single precission floats
correctly.
Fixes progs/tests/fog in swrast SSE mode.
Now the correct commit instead of 9d9c1f17dc which is not even close
of correct fix for the bug.
This commit is contained in:
parent
9d9c1f17dc
commit
7d6cbcdd9a
2 changed files with 2 additions and 0 deletions
|
|
@ -186,6 +186,7 @@ GLNAME(_mesa_sse_transform_points2_3d_no_rot):
|
|||
MOV_L( REGOFF(V4F_START, EDI), EDI ) /* ptr to first dest vertex */
|
||||
ADD_L( EDI, ECX ) /* count += dest ptr */
|
||||
|
||||
XORPS( XMM0, XMM0 ) /* clean the working register */
|
||||
|
||||
ALIGNTEXT32
|
||||
MOVSS ( M(0), XMM1 ) /* - | - | - | m0 */
|
||||
|
|
|
|||
|
|
@ -198,6 +198,7 @@ GLNAME(_mesa_sse_transform_points3_3d_no_rot):
|
|||
MOV_L( REGOFF(V4F_START, EDI), EDI ) /* ptr to first dest vertex */
|
||||
ADD_L( EDI, ECX ) /* count += dest ptr */
|
||||
|
||||
XORPS( XMM0, XMM0 ) /* clean the working register */
|
||||
|
||||
ALIGNTEXT32
|
||||
MOVSS ( M(0), XMM1 ) /* - | - | - | m0 */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue