diff options
author | davem69 <davem69> | 2001-06-06 11:46:04 +0000 |
---|---|---|
committer | davem69 <davem69> | 2001-06-06 11:46:04 +0000 |
commit | 6f365c21d796310a9ea70d8420e6879eb5abb6ae (patch) | |
tree | a17d087d3affc09de3caf515b5a05b063ad72dfa /src/mesa/sparc/sparc.c | |
parent | 775355a88a0927e2e3a855036c26950397a61d7b (diff) |
SPARC normal tnl optimizations.
Diffstat (limited to 'src/mesa/sparc/sparc.c')
-rw-r--r-- | src/mesa/sparc/sparc.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/mesa/sparc/sparc.c b/src/mesa/sparc/sparc.c index c25a758a73b..45e2cecac18 100644 --- a/src/mesa/sparc/sparc.c +++ b/src/mesa/sparc/sparc.c @@ -1,4 +1,4 @@ -/* $Id: sparc.c,v 1.3 2001/06/05 23:54:01 davem69 Exp $ */ +/* $Id: sparc.c,v 1.4 2001/06/06 11:46:04 davem69 Exp $ */ /* * Mesa 3-D graphics library @@ -86,6 +86,22 @@ extern GLvector4f *_mesa_sparc_cliptest_points4_np(GLvector4f *clip_vec, GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask); + +#define NORM_ARGS const GLmatrix *mat, \ + GLfloat scale, \ + const GLvector3f *in, \ + const GLfloat *lengths, \ + GLvector3f *dest + +extern void _mesa_sparc_transform_normalize_normals(NORM_ARGS); +extern void _mesa_sparc_transform_normalize_normals_no_rot(NORM_ARGS); +extern void _mesa_sparc_transform_rescale_normals_no_rot(NORM_ARGS); +extern void _mesa_sparc_transform_rescale_normals(NORM_ARGS); +extern void _mesa_sparc_transform_normals_no_rot(NORM_ARGS); +extern void _mesa_sparc_transform_normals(NORM_ARGS); +extern void _mesa_sparc_normalize_normals(NORM_ARGS); +extern void _mesa_sparc_rescale_normals(NORM_ARGS); + #endif void _mesa_init_all_sparc_transform_asm(void) @@ -99,9 +115,27 @@ 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; + _mesa_normal_tab[NORM_TRANSFORM | NORM_NORMALIZE] = + _mesa_sparc_transform_normalize_normals; + _mesa_normal_tab[NORM_TRANSFORM_NO_ROT | NORM_NORMALIZE] = + _mesa_sparc_transform_normalize_normals_no_rot; + _mesa_normal_tab[NORM_TRANSFORM_NO_ROT | NORM_RESCALE] = + _mesa_sparc_transform_rescale_normals_no_rot; + _mesa_normal_tab[NORM_TRANSFORM | NORM_RESCALE] = + _mesa_sparc_transform_rescale_normals; + _mesa_normal_tab[NORM_TRANSFORM_NO_ROT] = + _mesa_sparc_transform_normals_no_rot; + _mesa_normal_tab[NORM_TRANSFORM] = + _mesa_sparc_transform_normals; + _mesa_normal_tab[NORM_NORMALIZE] = + _mesa_sparc_normalize_normals; + _mesa_normal_tab[NORM_RESCALE] = + _mesa_sparc_rescale_normals; + #ifdef DEBUG _math_test_all_transform_functions("sparc"); _math_test_all_cliptest_functions("sparc"); + _math_test_all_normal_transform_functions("sparc"); #endif #endif |