Ignore:
Timestamp:
May 23, 2000, 10:41:28 PM (25 years ago)
Author:
jeroen
Message:

* empty log message *

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:20 jeroen Exp $ */
     1/* $Id: 3dnow.c,v 1.3 2000-05-23 20:40:18 jeroen Exp $ */
    22
    33/*
     
    3030 * Holger Waechtler <holger@akaflieg.extern.tu-berlin.de>
    3131 */
    32 #if defined(USE_3DNOW_ASM)
     32#if defined(USE_3DNOW_ASM) && defined(USE_X86_ASM)
    3333#include "3dnow.h"
    3434
    35 #include <limits.h>
    36 #include <stdio.h>
    37 #include <stdlib.h>
    38 #include <math.h>
    39 
     35#include "glheader.h"
    4036#include "types.h"
    4137#include "context.h"
     
    5955
    6056#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);
    6864
    6965
     
    7167#define ASSIGN_XFORM_GROUP( pfx, cma, vsize, masked )           \
    7268 gl_transform_tab[cma][vsize][MATRIX_GENERAL]                   \
    73   = gl_##pfx##_transform_points##vsize##_general_##masked;      \
     69  = gl##pfx##_transform_points##vsize##_general_##masked;      \
    7470 gl_transform_tab[cma][vsize][MATRIX_IDENTITY]                  \
    75   = gl_##pfx##_transform_points##vsize##_identity_##masked;     \
     71  = gl##pfx##_transform_points##vsize##_identity_##masked;     \
    7672 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;    \
    7874 gl_transform_tab[cma][vsize][MATRIX_PERSPECTIVE]               \
    79   = gl_##pfx##_transform_points##vsize##_perspective_##masked;  \
     75  = gl##pfx##_transform_points##vsize##_perspective_##masked;  \
    8076 gl_transform_tab[cma][vsize][MATRIX_2D]                        \
    81   = gl_##pfx##_transform_points##vsize##_2d_##masked;           \
     77  = gl##pfx##_transform_points##vsize##_2d_##masked;           \
    8278 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;    \
    8480 gl_transform_tab[cma][vsize][MATRIX_3D]                        \
    85   = gl_##pfx##_transform_points##vsize##_3d_##masked;
     81  = gl##pfx##_transform_points##vsize##_3d_##masked;
    8682
    8783
     
    9894
    9995#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);
    108104
    109105
     
    111107#define ASSIGN_NORM_GROUP( pfx, cma, masked )                                 \
    112108   gl_normal_tab[NORM_RESCALE][cma]   =                                       \
    113       gl_##pfx##_rescale_normals_##masked##;                                  \
     109      gl##pfx##_rescale_normals_##masked##;                                  \
    114110   gl_normal_tab[NORM_NORMALIZE][cma] =                                       \
    115       gl_##pfx##_normalize_normals_##masked##;                                \
     111      gl##pfx##_normalize_normals_##masked##;                                \
    116112   gl_normal_tab[NORM_TRANSFORM][cma] =                                       \
    117       gl_##pfx##_transform_normals_##masked##;                                \
     113      gl##pfx##_transform_normals_##masked##;                                \
    118114   gl_normal_tab[NORM_TRANSFORM_NO_ROT][cma] =                                \
    119       gl_##pfx##_transform_normals_no_rot_##masked##;                         \
     115      gl##pfx##_transform_normals_no_rot_##masked##;                         \
    120116   gl_normal_tab[NORM_TRANSFORM | NORM_RESCALE][cma] =                        \
    121       gl_##pfx##_transform_rescale_normals_##masked##;                        \
     117      gl##pfx##_transform_rescale_normals_##masked##;                        \
    122118   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##;                 \
    124120   gl_normal_tab[NORM_TRANSFORM | NORM_NORMALIZE][cma] =                      \
    125       gl_##pfx##_transform_normalize_normals_##masked##;                      \
     121      gl##pfx##_transform_normalize_normals_##masked##;                      \
    126122   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##;
    128124
    129125
    130 extern void gl_3dnow_project_vertices( GLfloat *first,
     126extern void _ASMAPI gl_3dnow_project_vertices( GLfloat *first,
    131127                                       GLfloat *last,
    132128                                       const GLfloat *m,
    133129                                       GLuint stride );
    134130
    135 extern void gl_3dnow_project_clipped_vertices( GLfloat *first,
     131extern void _ASMAPI gl_3dnow_project_clipped_vertices( GLfloat *first,
    136132                                               GLfloat *last,
    137133                                               const GLfloat *m,
     
    139135                                               const GLubyte *clipmask );
    140136
    141 extern void gl_v16_3dnow_general_xform( GLfloat *first_vert,
     137extern void _ASMAPI gl_v16_3dnow_general_xform( GLfloat *first_vert,
    142138                                        const GLfloat *m,
    143139                                        const GLfloat *src,
     
    147143void gl_init_3dnow_asm_transforms (void)
    148144{
    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 )
    153149
    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 )
    158154
    159    DECLARE_NORM_GROUP( 3dnow, raw )
    160 /* DECLARE_NORM_GROUP( 3dnow, masked )
     155   DECLARE_NORM_GROUP( _3dnow, raw )
     156/* DECLARE_NORM_GROUP( _3dnow, masked )
    161157*/
    162158
    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 )
    167163
    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 )
    172168
    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 )
    175171*/
    176172
Note: See TracChangeset for help on using the changeset viewer.