mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-23 19:10:21 +01:00
mesa: Fix and re-enable sparc normal asm.
Fix a bug reported in 2003 :-) The output vector has 4 entries, not 3. Unconditionally emit .register directives. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bde27b0d94
commit
cf89f06363
2 changed files with 11 additions and 17 deletions
|
|
@ -1,11 +1,8 @@
|
|||
|
||||
#include "sparc_matrix.h"
|
||||
|
||||
#if defined(SVR4) || defined(__SVR4) || defined(__svr4__)
|
||||
/* Solaris requires this for 64-bit. */
|
||||
.register %g2, #scratch
|
||||
.register %g3, #scratch
|
||||
#endif
|
||||
|
||||
.text
|
||||
|
||||
|
|
@ -98,7 +95,7 @@ _mesa_sparc_transform_normalize_normals:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 1b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
ba 7f
|
||||
nop
|
||||
|
|
@ -154,7 +151,7 @@ _mesa_sparc_transform_normalize_normals:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 5b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
7: retl
|
||||
nop
|
||||
|
|
@ -225,7 +222,7 @@ _mesa_sparc_transform_normalize_normals_no_rot:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 1b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
ba 7f
|
||||
nop
|
||||
|
|
@ -263,7 +260,7 @@ _mesa_sparc_transform_normalize_normals_no_rot:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 5b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
7: retl
|
||||
nop
|
||||
|
|
@ -314,7 +311,7 @@ _mesa_sparc_transform_rescale_normals_no_rot:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 1b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
7: retl
|
||||
nop
|
||||
|
|
@ -379,7 +376,7 @@ _mesa_sparc_transform_rescale_normals:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 1b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
7: retl
|
||||
nop
|
||||
|
|
@ -421,7 +418,7 @@ _mesa_sparc_transform_normals_no_rot:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 1b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
7: retl
|
||||
nop
|
||||
|
|
@ -471,7 +468,7 @@ _mesa_sparc_transform_normals:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 1b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
7: retl
|
||||
nop
|
||||
|
|
@ -529,7 +526,7 @@ _mesa_sparc_normalize_normals:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 1b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
ba 7f
|
||||
nop
|
||||
|
|
@ -557,7 +554,7 @@ _mesa_sparc_normalize_normals:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 5b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
7: retl
|
||||
nop
|
||||
|
|
@ -602,7 +599,7 @@ _mesa_sparc_rescale_normals:
|
|||
|
||||
cmp %o4, %g1 ! continue if (i < count)
|
||||
bl 1b
|
||||
add %g3, 0x0c, %g3 ! advance out vector pointer
|
||||
add %g3, 0x10, %g3 ! advance out vector pointer
|
||||
|
||||
7: retl
|
||||
nop
|
||||
|
|
|
|||
|
|
@ -113,8 +113,6 @@ void _mesa_init_all_sparc_transform_asm(void)
|
|||
_mesa_clip_tab[4] = _mesa_sparc_cliptest_points4;
|
||||
_mesa_clip_np_tab[4] = _mesa_sparc_cliptest_points4_np;
|
||||
|
||||
#if 0
|
||||
/* disable these too. See bug 673938 */
|
||||
_mesa_normal_tab[NORM_TRANSFORM | NORM_NORMALIZE] =
|
||||
_mesa_sparc_transform_normalize_normals;
|
||||
_mesa_normal_tab[NORM_TRANSFORM_NO_ROT | NORM_NORMALIZE] =
|
||||
|
|
@ -131,7 +129,6 @@ void _mesa_init_all_sparc_transform_asm(void)
|
|||
_mesa_sparc_normalize_normals;
|
||||
_mesa_normal_tab[NORM_RESCALE] =
|
||||
_mesa_sparc_rescale_normals;
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_MATH
|
||||
_math_test_all_transform_functions("sparc");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue