ReactOS  0.4.12-dev-375-g61fed54
m_xform.h File Reference
#include "main/compiler.h"
#include "main/glheader.h"
#include "math/m_matrix.h"
#include "math/m_vector.h"
Include dependency graph for m_xform.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _XFORMAPI
 
#define _XFORMAPIP   *
 
#define CLIP_RIGHT_SHIFT   0
 
#define CLIP_LEFT_SHIFT   1
 
#define CLIP_TOP_SHIFT   2
 
#define CLIP_BOTTOM_SHIFT   3
 
#define CLIP_NEAR_SHIFT   4
 
#define CLIP_FAR_SHIFT   5
 
#define CLIP_RIGHT_BIT   0x01
 
#define CLIP_LEFT_BIT   0x02
 
#define CLIP_TOP_BIT   0x04
 
#define CLIP_BOTTOM_BIT   0x08
 
#define CLIP_NEAR_BIT   0x10
 
#define CLIP_FAR_BIT   0x20
 
#define CLIP_USER_BIT   0x40
 
#define CLIP_CULL_BIT   0x80
 
#define CLIP_FRUSTUM_BITS   0x3f
 
#define NORM_RESCALE   0x1 /* apply the scale factor */
 
#define NORM_NORMALIZE   0x2 /* normalize */
 
#define NORM_TRANSFORM   0x4 /* apply the transformation matrix */
 
#define NORM_TRANSFORM_NO_ROT   0x8 /* apply the transformation matrix */
 
#define TransformRaw(to, mat, from)
 

Typedefs

typedef GLvector4f *_XFORMAPIP clip_func(GLvector4f *vClip, GLvector4f *vProj, GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask)
 
typedef void(* dotprod_func) (GLfloat *out, GLuint out_stride, CONST GLvector4f *coord_vec, CONST GLfloat plane[4])
 
typedef void(* vec_copy_func) (GLvector4f *to, CONST GLvector4f *from)
 
typedef GLfloat scale
 
typedef GLfloat CONST GLvector4fin
 
typedef GLfloat CONST GLvector4f CONST GLfloat lengths[]
 
typedef GLfloat CONST GLvector4f CONST GLfloat GLvector4fdest
 
typedef CONST GLfloat m[16]
 
typedef CONST GLfloat CONST GLvector4ffrom_vec
 

Functions

void _math_init_transformation (void)
 
void init_c_cliptest (void)
 
typedef void (_NORMAPIP normal_func)(CONST GLmatrix *mat
 
typedef void (_XFORMAPIP transform_func)(GLvector4f *to_vec
 

Variables

dotprod_func _mesa_dotprod_tab [5]
 
vec_copy_func _mesa_copy_tab [0x10]
 
vec_copy_func _mesa_copy_clean_tab [5]
 
clip_func _mesa_clip_tab [5]
 
clip_func _mesa_clip_np_tab [5]
 
normal_func _mesa_normal_tab [0xf]
 
transform_func * _mesa_transform_tab [5]
 

Macro Definition Documentation

◆ _XFORMAPI

#define _XFORMAPI

Definition at line 39 of file m_xform.h.

◆ _XFORMAPIP

#define _XFORMAPIP   *

Definition at line 40 of file m_xform.h.

◆ CLIP_BOTTOM_BIT

#define CLIP_BOTTOM_BIT   0x08

Definition at line 94 of file m_xform.h.

◆ CLIP_BOTTOM_SHIFT

#define CLIP_BOTTOM_SHIFT   3

Definition at line 87 of file m_xform.h.

◆ CLIP_CULL_BIT

#define CLIP_CULL_BIT   0x80

Definition at line 98 of file m_xform.h.

◆ CLIP_FAR_BIT

#define CLIP_FAR_BIT   0x20

Definition at line 96 of file m_xform.h.

◆ CLIP_FAR_SHIFT

#define CLIP_FAR_SHIFT   5

Definition at line 89 of file m_xform.h.

◆ CLIP_FRUSTUM_BITS

#define CLIP_FRUSTUM_BITS   0x3f

Definition at line 99 of file m_xform.h.

◆ CLIP_LEFT_BIT

#define CLIP_LEFT_BIT   0x02

Definition at line 92 of file m_xform.h.

◆ CLIP_LEFT_SHIFT

#define CLIP_LEFT_SHIFT   1

Definition at line 85 of file m_xform.h.

◆ CLIP_NEAR_BIT

#define CLIP_NEAR_BIT   0x10

Definition at line 95 of file m_xform.h.

◆ CLIP_NEAR_SHIFT

#define CLIP_NEAR_SHIFT   4

Definition at line 88 of file m_xform.h.

◆ CLIP_RIGHT_BIT

#define CLIP_RIGHT_BIT   0x01

Definition at line 91 of file m_xform.h.

◆ CLIP_RIGHT_SHIFT

#define CLIP_RIGHT_SHIFT   0

Definition at line 84 of file m_xform.h.

◆ CLIP_TOP_BIT

#define CLIP_TOP_BIT   0x04

Definition at line 93 of file m_xform.h.

◆ CLIP_TOP_SHIFT

#define CLIP_TOP_SHIFT   2

Definition at line 86 of file m_xform.h.

◆ CLIP_USER_BIT

#define CLIP_USER_BIT   0x40

Definition at line 97 of file m_xform.h.

◆ NORM_NORMALIZE

#define NORM_NORMALIZE   0x2 /* normalize */

Definition at line 131 of file m_xform.h.

◆ NORM_RESCALE

#define NORM_RESCALE   0x1 /* apply the scale factor */

Definition at line 130 of file m_xform.h.

◆ NORM_TRANSFORM

#define NORM_TRANSFORM   0x4 /* apply the transformation matrix */

Definition at line 132 of file m_xform.h.

◆ NORM_TRANSFORM_NO_ROT

#define NORM_TRANSFORM_NO_ROT   0x8 /* apply the transformation matrix */

Definition at line 133 of file m_xform.h.

◆ TransformRaw

#define TransformRaw (   to,
  mat,
  from 
)
Value:
( _mesa_transform_tab[(from)->size][(mat)->type]( to, (mat)->m, from ), \
(to) )
static const MAT2 mat
Definition: font.c:66
transform_func * _mesa_transform_tab[5]
Definition: m_xform.c:63
GLsizeiptr size
Definition: glext.h:5919
const GLfloat * m
Definition: glext.h:10848
CardRegion * from
Definition: spigame.cpp:19

Definition at line 162 of file m_xform.h.

Typedef Documentation

◆ clip_func

typedef GLvector4f* _XFORMAPIP clip_func(GLvector4f *vClip, GLvector4f *vProj, GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask)

Definition at line 102 of file m_xform.h.

◆ dest

Definition at line 122 of file m_xform.h.

◆ dotprod_func

typedef void(* dotprod_func) (GLfloat *out, GLuint out_stride, CONST GLvector4f *coord_vec, CONST GLfloat plane[4])

Definition at line 108 of file m_xform.h.

◆ from_vec

Definition at line 144 of file m_xform.h.

◆ in

typedef GLuint in

Definition at line 122 of file m_xform.h.

◆ lengths

Definition at line 122 of file m_xform.h.

◆ m

typedef const GLdouble * m

Definition at line 144 of file m_xform.h.

◆ scale

typedef GLfloat scale

Definition at line 122 of file m_xform.h.

◆ vec_copy_func

typedef void(* vec_copy_func) (GLvector4f *to, CONST GLvector4f *from)

Definition at line 113 of file m_xform.h.

Function Documentation

◆ _math_init_transformation()

void _math_init_transformation ( void  )

Definition at line 98 of file m_xform.c.

99 {
102  init_c_cliptest();
103  init_copy0();
104  init_dotprod();
105 
106 #ifdef DEBUG_MATH
110 #endif
111 
112 #ifdef USE_X86_ASM
114 #elif defined( USE_SPARC_ASM )
115  _mesa_init_all_sparc_transform_asm();
116 #elif defined( USE_PPC_ASM )
117  _mesa_init_all_ppc_transform_asm();
118 #elif defined( USE_X86_64_ASM )
120 #endif
121 }
void _math_test_all_normal_transform_functions(char *description)
static void _XFORMAPI TAG() init_c_norm_transform(void)
Definition: m_norm_tmp.h:365
static void _XFORMAPI TAG() init_c_transformations(void)
Definition: m_xform_tmp.h:756
void _math_test_all_transform_functions(char *description)
void TAG() init_c_cliptest(void)
Definition: m_clip_tmp.h:234
void _math_test_all_cliptest_functions(char *description)
static void TAG() init_dotprod(void)
Definition: m_dotprod_tmp.h:97
void _mesa_init_all_x86_transform_asm(void)
Definition: x86_xform.c:106
void _mesa_init_all_x86_64_transform_asm(void)
Definition: x86-64.c:84

Referenced by _tnl_CreateContext().

◆ init_c_cliptest()

void init_c_cliptest ( void  )

Definition at line 234 of file m_clip_tmp.h.

235 {
239 
243 }
clip_func _mesa_clip_tab[5]
Definition: m_xform.c:58
static GLvector4f *_XFORMAPI TAG() cliptest_np_points4(GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask)
Definition: m_clip_tmp.h:118
static GLvector4f *_XFORMAPI TAG() cliptest_points4(GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask)
Definition: m_clip_tmp.h:43
static GLvector4f *_XFORMAPI TAG() cliptest_points3(GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask)
Definition: m_clip_tmp.h:170
static GLvector4f *_XFORMAPI TAG() cliptest_points2(GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask)
Definition: m_clip_tmp.h:203
clip_func _mesa_clip_np_tab[5]
Definition: m_xform.c:59
#define TAG(x)
Definition: m_xform.c:76

Referenced by _math_init_transformation().

◆ void() [1/2]

typedef void ( _NORMAPIP  normal_func)

◆ void() [2/2]

typedef void ( _XFORMAPIP  transform_func)

Variable Documentation

◆ _mesa_clip_np_tab

clip_func _mesa_clip_np_tab[5]

Definition at line 59 of file m_xform.c.

Referenced by init_c_cliptest(), and run_vertex_stage().

◆ _mesa_clip_tab

clip_func _mesa_clip_tab[5]

Definition at line 58 of file m_xform.c.

Referenced by init_c_cliptest(), and run_vertex_stage().

◆ _mesa_copy_clean_tab

vec_copy_func _mesa_copy_clean_tab[5]

◆ _mesa_copy_tab

vec_copy_func _mesa_copy_tab[0x10]

◆ _mesa_dotprod_tab

dotprod_func _mesa_dotprod_tab[5]

Definition at line 60 of file m_xform.c.

Referenced by init_dotprod(), run_fog_stage(), and texgen().

◆ _mesa_normal_tab

normal_func _mesa_normal_tab[0xf]

◆ _mesa_transform_tab

transform_func* _mesa_transform_tab[5]

Definition at line 63 of file m_xform.c.

Referenced by _mesa_init_all_x86_64_transform_asm(), and _mesa_init_sse_transform_asm().