ps2sdk
1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
gif_tags.h
Go to the documentation of this file.
1
6
#ifndef __GIF_TAGS_H__
7
#define __GIF_TAGS_H__
8
9
#include <
tamtypes.h
>
10
12
#define GIF_BLOCK_SIZE 0x7FFF
13
15
#define GIF_PRE_DISABLE 0x00
17
#define GIF_PRE_ENABLE 0x01
18
20
#define GIF_PRIM_POINT 0x00
22
#define GIF_PRIM_LINE 0x01
24
#define GIF_PRIM_LINE_STRIP 0x02
26
#define GIF_PRIM_TRIANGLE 0x03
28
#define GIF_PRIM_TRIANGLE_STRIP 0x04
30
#define GIF_PRIM_TRIANGLE_FAN 0x05
32
#define GIF_PRIM_SPRITE 0x06
33
35
#define GIF_FLG_PACKED 0x00
37
#define GIF_FLG_REGLIST 0x01
39
#define GIF_FLG_IMAGE 0x02
40
42
#define GIF_REG_PRIM 0x00
44
#define GIF_REG_RGBAQ 0x01
46
#define GIF_REG_ST 0x02
48
#define GIF_REG_UV 0x03
50
#define GIF_REG_XYZF2 0x04
52
#define GIF_REG_XYZ2 0x05
54
#define GIF_REG_TEX0 0x06
56
#define GIF_REG_TEX0_1 0x06
58
#define GIF_REG_TEX0_2 0x07
60
#define GIF_REG_CLAMP 0x08
62
#define GIF_REG_CLAMP_1 0x08
64
#define GIF_REG_CLAMP_2 0x09
66
#define GIF_REG_FOG 0x0A
68
#define GIF_REG_XYZF3 0x0C
70
#define GIF_REG_XYZ3 0x0D
72
#define GIF_REG_AD 0x0E
74
#define GIF_REG_NOP 0x0F
75
76
#define PACK_GIFTAG(Q,D0,D1) \
77
Q->dw[0] = (u64)(D0), \
78
Q->dw[1] = (u64)(D1)
79
80
#define GIF_SET_TAG(NLOOP,EOP,PRE,PRIM,FLG,NREG) \
81
(u64)((NLOOP) & 0x00007FFF) << 0 | (u64)((EOP) & 0x00000001) << 15 | \
82
(u64)((PRE) & 0x00000001) << 46 | (u64)((PRIM) & 0x000007FF) << 47 | \
83
(u64)((FLG) & 0x00000003) << 58 | (u64)((NREG) & 0x0000000F) << 60
84
85
#define GIF_SET_PRIM(PRIM,IIP,TME,FGE,ABE,AA1,FST,CTXT,FIX) \
86
(u64)((PRIM) & 0x00000007) << 0 | (u64)((IIP) & 0x00000001) << 3 | \
87
(u64)((TME) & 0x00000001) << 4 | (u64)((FGE) & 0x00000001) << 5 | \
88
(u64)((ABE) & 0x00000001) << 6 | (u64)((AA1) & 0x00000001) << 7 | \
89
(u64)((FST) & 0x00000001) << 8 | (u64)((CTXT) & 0x00000001) << 9 | \
90
(u64)((FIX) & 0x00000001) << 10
91
92
#define GIF_SET_RGBAQ(R,G,B,A,Q) \
93
(u64)((R) & 0x000000FF) << 0 | (u64)((G) & 0x000000FF) << 8 | \
94
(u64)((B) & 0x000000FF) << 16 | (u64)((A) & 0x000000FF) << 24 | \
95
(u64)((Q) & 0xFFFFFFFF) << 32
96
97
#define GIF_SET_ST(S,T) \
98
(u64)((S) & 0xFFFFFFFF) << 0 | (u64)((T) & 0xFFFFFFFF) << 32
99
100
#define GIF_SET_UV(U,V) \
101
(u64)((U) & 0x00003FFF) << 0 | (u64)((V) & 0x00003FFF) << 16
102
103
#define GIF_SET_XYZ(X,Y,Z) \
104
(u64)((X) & 0x0000FFFF) << 0 | (u64)((Y) & 0x0000FFFF) << 16 | \
105
(u64)((Z) & 0xFFFFFFFF) << 32
106
107
#define GIF_SET_XYZF(X,Y,Z,F) \
108
(u64)((X) & 0x0000FFFF) << 0 | (u64)((Y) & 0x0000FFFF) << 16 | \
109
(u64)((Z) & 0x00FFFFFF) << 32 | (u64)((F) & 0x000000FF) << 56
110
111
#define GIF_SET_TEX0(TBA,TBW,PSM,TW,TH,TCC,TFNCT,CBA,CPSM,CSM,CSA,CLD) \
112
(u64)((TBA) & 0x00003FFF) << 0 | (u64)((TBW) & 0x0000003F) << 14 | \
113
(u64)((PSM) & 0x0000003F) << 20 | (u64)((TW) & 0x0000000F) << 26 | \
114
(u64)((TH) & 0x0000000F) << 30 | (u64)((TCC) & 0x00000001) << 34 | \
115
(u64)((TFNCT) & 0x00000003) << 35 | (u64)((CBA) & 0x00003FFF) << 37 | \
116
(u64)((CPSM) & 0x0000000F) << 51 | (u64)((CSM) & 0x00000001) << 55 | \
117
(u64)((CSA) & 0x0000001F) << 56 | (u64)((CLD) & 0x00000007) << 61
118
119
#define GIF_SET_CLAMP(WMS,WMT,MINU,MAXU,MINV,MAXV) \
120
(u64)((WMS) & 0x00000003) << 0 | (u64)((WMT) & 0x00000003) << 2 | \
121
(u64)((MINU) & 0x000003FF) << 4 | (u64)((MAXU) & 0x000003FF) << 14 | \
122
(u64)((MINV) & 0x000003FF) << 24 | (u64)((MAXV) & 0x000003FF) << 34
123
124
#define GIF_SET_FOG(FOG) (u64)((FOG) & 0x000000FF) << 56
125
126
#endif
/* __GIFTAGS_H__ */
tamtypes.h
common
include
gif_tags.h
Generated on Thu Feb 11 2021 11:42:21 for ps2sdk by
1.9.2