Changeset 3598 for trunk/src/opengl/mesa/3dnow.c
- Timestamp:
- May 23, 2000, 10:41:28 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/opengl/mesa/3dnow.c
r2962 r3598 1 /* $Id: 3dnow.c,v 1. 2 2000-03-01 18:49:20jeroen Exp $ */1 /* $Id: 3dnow.c,v 1.3 2000-05-23 20:40:18 jeroen Exp $ */ 2 2 3 3 /* … … 30 30 * Holger Waechtler <holger@akaflieg.extern.tu-berlin.de> 31 31 */ 32 #if defined(USE_3DNOW_ASM) 32 #if defined(USE_3DNOW_ASM) && defined(USE_X86_ASM) 33 33 #include "3dnow.h" 34 34 35 #include <limits.h> 36 #include <stdio.h> 37 #include <stdlib.h> 38 #include <math.h> 39 35 #include "glheader.h" 40 36 #include "types.h" 41 37 #include "context.h" … … 59 55 60 56 #define DECLARE_XFORM_GROUP(pfx, v, masked) \ 61 extern void gl_##pfx##_transform_points##v##_general_##masked(XFORM_ARGS); \62 extern void gl_##pfx##_transform_points##v##_identity_##masked(XFORM_ARGS); \63 extern void gl_##pfx##_transform_points##v##_3d_no_rot_##masked(XFORM_ARGS); \64 extern void gl_##pfx##_transform_points##v##_perspective_##masked(XFORM_ARGS);\65 extern void gl_##pfx##_transform_points##v##_2d_##masked(XFORM_ARGS); \66 extern void gl_##pfx##_transform_points##v##_2d_no_rot_##masked(XFORM_ARGS); \67 extern void gl_##pfx##_transform_points##v##_3d_##masked(XFORM_ARGS);57 extern void _ASMAPI gl##pfx##_transform_points##v##_general_##masked(XFORM_ARGS); \ 58 extern void _ASMAPI gl##pfx##_transform_points##v##_identity_##masked(XFORM_ARGS); \ 59 extern void _ASMAPI gl##pfx##_transform_points##v##_3d_no_rot_##masked(XFORM_ARGS); \ 60 extern void _ASMAPI gl##pfx##_transform_points##v##_perspective_##masked(XFORM_ARGS);\ 61 extern void _ASMAPI gl##pfx##_transform_points##v##_2d_##masked(XFORM_ARGS); \ 62 extern void _ASMAPI gl##pfx##_transform_points##v##_2d_no_rot_##masked(XFORM_ARGS); \ 63 extern void _ASMAPI gl##pfx##_transform_points##v##_3d_##masked(XFORM_ARGS); 68 64 69 65 … … 71 67 #define ASSIGN_XFORM_GROUP( pfx, cma, vsize, masked ) \ 72 68 gl_transform_tab[cma][vsize][MATRIX_GENERAL] \ 73 = gl _##pfx##_transform_points##vsize##_general_##masked; \69 = gl##pfx##_transform_points##vsize##_general_##masked; \ 74 70 gl_transform_tab[cma][vsize][MATRIX_IDENTITY] \ 75 = gl _##pfx##_transform_points##vsize##_identity_##masked; \71 = gl##pfx##_transform_points##vsize##_identity_##masked; \ 76 72 gl_transform_tab[cma][vsize][MATRIX_3D_NO_ROT] \ 77 = gl _##pfx##_transform_points##vsize##_3d_no_rot_##masked; \73 = gl##pfx##_transform_points##vsize##_3d_no_rot_##masked; \ 78 74 gl_transform_tab[cma][vsize][MATRIX_PERSPECTIVE] \ 79 = gl _##pfx##_transform_points##vsize##_perspective_##masked; \75 = gl##pfx##_transform_points##vsize##_perspective_##masked; \ 80 76 gl_transform_tab[cma][vsize][MATRIX_2D] \ 81 = gl _##pfx##_transform_points##vsize##_2d_##masked; \77 = gl##pfx##_transform_points##vsize##_2d_##masked; \ 82 78 gl_transform_tab[cma][vsize][MATRIX_2D_NO_ROT] \ 83 = gl _##pfx##_transform_points##vsize##_2d_no_rot_##masked; \79 = gl##pfx##_transform_points##vsize##_2d_no_rot_##masked; \ 84 80 gl_transform_tab[cma][vsize][MATRIX_3D] \ 85 = gl _##pfx##_transform_points##vsize##_3d_##masked;81 = gl##pfx##_transform_points##vsize##_3d_##masked; 86 82 87 83 … … 98 94 99 95 #define DECLARE_NORM_GROUP(pfx, masked) \ 100 extern void gl_##pfx##_rescale_normals_##masked## (NORM_ARGS); \101 extern void gl_##pfx##_normalize_normals_##masked## (NORM_ARGS); \102 extern void gl_##pfx##_transform_normals_##masked## (NORM_ARGS); \103 extern void gl_##pfx##_transform_normals_no_rot_##masked## (NORM_ARGS); \104 extern void gl_##pfx##_transform_rescale_normals_##masked## (NORM_ARGS); \105 extern void gl_##pfx##_transform_rescale_normals_no_rot_##masked## (NORM_ARGS); \106 extern void gl_##pfx##_transform_normalize_normals_##masked## (NORM_ARGS); \107 extern void gl_##pfx##_transform_normalize_normals_no_rot_##masked## (NORM_ARGS);96 extern void _ASMAPI gl##pfx##_rescale_normals_##masked## (NORM_ARGS); \ 97 extern void _ASMAPI gl##pfx##_normalize_normals_##masked## (NORM_ARGS); \ 98 extern void _ASMAPI gl##pfx##_transform_normals_##masked## (NORM_ARGS); \ 99 extern void _ASMAPI gl##pfx##_transform_normals_no_rot_##masked## (NORM_ARGS); \ 100 extern void _ASMAPI gl##pfx##_transform_rescale_normals_##masked## (NORM_ARGS); \ 101 extern void _ASMAPI gl##pfx##_transform_rescale_normals_no_rot_##masked## (NORM_ARGS); \ 102 extern void _ASMAPI gl##pfx##_transform_normalize_normals_##masked## (NORM_ARGS); \ 103 extern void _ASMAPI gl##pfx##_transform_normalize_normals_no_rot_##masked## (NORM_ARGS); 108 104 109 105 … … 111 107 #define ASSIGN_NORM_GROUP( pfx, cma, masked ) \ 112 108 gl_normal_tab[NORM_RESCALE][cma] = \ 113 gl _##pfx##_rescale_normals_##masked##; \109 gl##pfx##_rescale_normals_##masked##; \ 114 110 gl_normal_tab[NORM_NORMALIZE][cma] = \ 115 gl _##pfx##_normalize_normals_##masked##; \111 gl##pfx##_normalize_normals_##masked##; \ 116 112 gl_normal_tab[NORM_TRANSFORM][cma] = \ 117 gl _##pfx##_transform_normals_##masked##; \113 gl##pfx##_transform_normals_##masked##; \ 118 114 gl_normal_tab[NORM_TRANSFORM_NO_ROT][cma] = \ 119 gl _##pfx##_transform_normals_no_rot_##masked##; \115 gl##pfx##_transform_normals_no_rot_##masked##; \ 120 116 gl_normal_tab[NORM_TRANSFORM | NORM_RESCALE][cma] = \ 121 gl _##pfx##_transform_rescale_normals_##masked##; \117 gl##pfx##_transform_rescale_normals_##masked##; \ 122 118 gl_normal_tab[NORM_TRANSFORM_NO_ROT | NORM_RESCALE][cma] = \ 123 gl _##pfx##_transform_rescale_normals_no_rot_##masked##; \119 gl##pfx##_transform_rescale_normals_no_rot_##masked##; \ 124 120 gl_normal_tab[NORM_TRANSFORM | NORM_NORMALIZE][cma] = \ 125 gl _##pfx##_transform_normalize_normals_##masked##; \121 gl##pfx##_transform_normalize_normals_##masked##; \ 126 122 gl_normal_tab[NORM_TRANSFORM_NO_ROT | NORM_NORMALIZE][cma] = \ 127 gl_##pfx##_transform_normalize_normals_no_rot_##masked##;123 gl##pfx##_transform_normalize_normals_no_rot_##masked##; 128 124 129 125 130 extern void gl_3dnow_project_vertices( GLfloat *first,126 extern void _ASMAPI gl_3dnow_project_vertices( GLfloat *first, 131 127 GLfloat *last, 132 128 const GLfloat *m, 133 129 GLuint stride ); 134 130 135 extern void gl_3dnow_project_clipped_vertices( GLfloat *first,131 extern void _ASMAPI gl_3dnow_project_clipped_vertices( GLfloat *first, 136 132 GLfloat *last, 137 133 const GLfloat *m, … … 139 135 const GLubyte *clipmask ); 140 136 141 extern void gl_v16_3dnow_general_xform( GLfloat *first_vert,137 extern void _ASMAPI gl_v16_3dnow_general_xform( GLfloat *first_vert, 142 138 const GLfloat *m, 143 139 const GLfloat *src, … … 147 143 void gl_init_3dnow_asm_transforms (void) 148 144 { 149 DECLARE_XFORM_GROUP( 3dnow, 1, raw )150 DECLARE_XFORM_GROUP( 3dnow, 2, raw )151 DECLARE_XFORM_GROUP( 3dnow, 3, raw )152 DECLARE_XFORM_GROUP( 3dnow, 4, raw )145 DECLARE_XFORM_GROUP( _3dnow, 1, raw ) 146 DECLARE_XFORM_GROUP( _3dnow, 2, raw ) 147 DECLARE_XFORM_GROUP( _3dnow, 3, raw ) 148 DECLARE_XFORM_GROUP( _3dnow, 4, raw ) 153 149 154 DECLARE_XFORM_GROUP( 3dnow, 1, masked )155 DECLARE_XFORM_GROUP( 3dnow, 2, masked )156 DECLARE_XFORM_GROUP( 3dnow, 3, masked )157 DECLARE_XFORM_GROUP( 3dnow, 4, masked )150 DECLARE_XFORM_GROUP( _3dnow, 1, masked ) 151 DECLARE_XFORM_GROUP( _3dnow, 2, masked ) 152 DECLARE_XFORM_GROUP( _3dnow, 3, masked ) 153 DECLARE_XFORM_GROUP( _3dnow, 4, masked ) 158 154 159 DECLARE_NORM_GROUP( 3dnow, raw )160 /* DECLARE_NORM_GROUP( 3dnow, masked )155 DECLARE_NORM_GROUP( _3dnow, raw ) 156 /* DECLARE_NORM_GROUP( _3dnow, masked ) 161 157 */ 162 158 163 ASSIGN_XFORM_GROUP( 3dnow, 0, 1, raw )164 ASSIGN_XFORM_GROUP( 3dnow, 0, 2, raw )165 ASSIGN_XFORM_GROUP( 3dnow, 0, 3, raw )166 ASSIGN_XFORM_GROUP( 3dnow, 0, 4, raw )159 ASSIGN_XFORM_GROUP( _3dnow, 0, 1, raw ) 160 ASSIGN_XFORM_GROUP( _3dnow, 0, 2, raw ) 161 ASSIGN_XFORM_GROUP( _3dnow, 0, 3, raw ) 162 ASSIGN_XFORM_GROUP( _3dnow, 0, 4, raw ) 167 163 168 ASSIGN_XFORM_GROUP( 3dnow, CULL_MASK_ACTIVE, 1, masked )169 ASSIGN_XFORM_GROUP( 3dnow, CULL_MASK_ACTIVE, 2, masked )170 ASSIGN_XFORM_GROUP( 3dnow, CULL_MASK_ACTIVE, 3, masked )171 ASSIGN_XFORM_GROUP( 3dnow, CULL_MASK_ACTIVE, 4, masked )164 ASSIGN_XFORM_GROUP( _3dnow, CULL_MASK_ACTIVE, 1, masked ) 165 ASSIGN_XFORM_GROUP( _3dnow, CULL_MASK_ACTIVE, 2, masked ) 166 ASSIGN_XFORM_GROUP( _3dnow, CULL_MASK_ACTIVE, 3, masked ) 167 ASSIGN_XFORM_GROUP( _3dnow, CULL_MASK_ACTIVE, 4, masked ) 172 168 173 ASSIGN_NORM_GROUP( 3dnow, 0, raw )174 /* ASSIGN_NORM_GROUP( 3dnow, CULL_MASK_ACTIVE, masked )169 ASSIGN_NORM_GROUP( _3dnow, 0, raw ) 170 /* ASSIGN_NORM_GROUP( _3dnow, CULL_MASK_ACTIVE, masked ) 175 171 */ 176 172
Note:
See TracChangeset
for help on using the changeset viewer.