Remove CVS keywords.
[mesa.git] / src / mesa / drivers / dri / ffb / ffb_vb.h
1
2 #ifndef _FFB_VB_H
3 #define _FFB_VB_H
4
5 #include "mtypes.h"
6 #include "macros.h"
7 #include "tnl/t_context.h"
8 #include "swrast/swrast.h"
9
10 #define __FFB_2_30_FIXED_SCALE 1073741824.0f
11 #define FFB_2_30_FLOAT_TO_FIXED(X) \
12 (IROUND((X) * fmesa->ffb_2_30_fixed_scale))
13 #define FFB_2_30_FIXED_TO_FLOAT(X) \
14 (((GLfloat)(X)) * fmesa->ffb_one_over_2_30_fixed_scale)
15
16 #define __FFB_16_16_FIXED_SCALE 65536.0f
17 #define FFB_16_16_FLOAT_TO_FIXED(X) \
18 (IROUND((X) * fmesa->ffb_16_16_fixed_scale))
19 #define FFB_16_16_FIXED_TO_FLOAT(X) \
20 (((GLfloat)(X)) * fmesa->ffb_one_over_16_16_fixed_scale)
21
22 #define FFB_Z_FROM_FLOAT(VAL) FFB_2_30_FLOAT_TO_FIXED(VAL)
23 #define FFB_Z_TO_FLOAT(VAL) FFB_2_30_FIXED_TO_FLOAT(VAL)
24 #define FFB_XY_FROM_FLOAT(VAL) FFB_16_16_FLOAT_TO_FIXED(VAL)
25 #define FFB_XY_TO_FLOAT(VAL) FFB_16_16_FIXED_TO_FLOAT(VAL)
26
27 #define FFB_UBYTE_FROM_COLOR(VAL) ((IROUND((VAL) * fmesa->ffb_ubyte_color_scale)))
28
29 #define FFB_PACK_CONST_UBYTE_ARGB_COLOR(C) \
30 ((FFB_UBYTE_FROM_COLOR(C.alpha) << 24) | \
31 (FFB_UBYTE_FROM_COLOR(C.blue) << 16) | \
32 (FFB_UBYTE_FROM_COLOR(C.green) << 8) | \
33 (FFB_UBYTE_FROM_COLOR(C.red) << 0))
34
35 #define FFB_COLOR_FROM_FLOAT(VAL) FFB_2_30_FLOAT_TO_FIXED(VAL)
36
37 #define _FFB_NEW_VERTEX (_DD_NEW_TRI_LIGHT_TWOSIDE)
38
39 extern void ffbDDSetupInit(void);
40 extern void ffbChooseVertexState(GLcontext *);
41 extern void ffbInitVB( GLcontext *ctx );
42 extern void ffbFreeVB( GLcontext *ctx );
43
44 #endif /* !(_FFB_VB_H) */