vfs: check userland buffers before reading them.
[haiku.git] / headers / private / graphics / radeon / 2d_regs.h
blob6ccecbb7590ca9ec3f68dbcad86a000c8a3d255f
1 /*
2 Copyright (c) 2002, Thomas Kurschel
5 Part of Radeon driver
7 2D registers
8 */
11 #ifndef _2D_REGS_H
12 #define _2D_REGS_H
14 #define RADEON_DP_BRUSH_BKGD_CLR 0x1478
15 #define RADEON_DP_BRUSH_FRGD_CLR 0x147c
16 #define RADEON_DP_CNTL 0x16c0
17 # define RADEON_DST_X_LEFT_TO_RIGHT (1 << 0)
18 # define RADEON_DST_Y_TOP_TO_BOTTOM (1 << 1)
19 #define RADEON_DP_CNTL_XDIR_YDIR_YMAJOR 0x16d0
20 # define RADEON_DST_Y_MAJOR (1 << 2)
21 # define RADEON_DST_Y_DIR_TOP_TO_BOTTOM (1 << 15)
22 # define RADEON_DST_X_DIR_LEFT_TO_RIGHT (1 << 31)
23 #define RADEON_DP_DATATYPE 0x16c4
24 # define RADEON_HOST_BIG_ENDIAN_EN (1 << 29)
25 #define RADEON_DP_GUI_MASTER_CNTL 0x146c
26 # define RADEON_GMC_SRC_PITCH_OFFSET_CNTL (1 << 0)
27 # define RADEON_GMC_DST_PITCH_OFFSET_CNTL (1 << 1)
28 # define RADEON_GMC_SRC_CLIPPING (1 << 2)
29 # define RADEON_GMC_DST_CLIPPING (1 << 3)
30 # define RADEON_GMC_BRUSH_DATATYPE_MASK (0x0f << 4)
31 # define RADEON_GMC_BRUSH_8X8_MONO_FG_BG (0 << 4)
32 # define RADEON_GMC_BRUSH_8X8_MONO_FG_LA (1 << 4)
33 # define RADEON_GMC_BRUSH_1X8_MONO_FG_BG (4 << 4)
34 # define RADEON_GMC_BRUSH_1X8_MONO_FG_LA (5 << 4)
35 # define RADEON_GMC_BRUSH_32x1_MONO_FG_BG (6 << 4)
36 # define RADEON_GMC_BRUSH_32x1_MONO_FG_LA (7 << 4)
37 # define RADEON_GMC_BRUSH_32x32_MONO_FG_BG (8 << 4)
38 # define RADEON_GMC_BRUSH_32x32_MONO_FG_LA (9 << 4)
39 # define RADEON_GMC_BRUSH_8x8_COLOR (10 << 4)
40 # define RADEON_GMC_BRUSH_1X8_COLOR (12 << 4)
41 # define RADEON_GMC_BRUSH_SOLID_COLOR (13 << 4)
42 # define RADEON_GMC_BRUSH_NONE (15 << 4)
43 # define RADEON_GMC_DST_8BPP_CI (2 << 8)
44 # define RADEON_GMC_DST_15BPP (3 << 8)
45 # define RADEON_GMC_DST_16BPP (4 << 8)
46 # define RADEON_GMC_DST_24BPP (5 << 8)
47 # define RADEON_GMC_DST_32BPP (6 << 8)
48 # define RADEON_GMC_DST_8BPP_RGB (7 << 8)
49 # define RADEON_GMC_DST_Y8 (8 << 8)
50 # define RADEON_GMC_DST_RGB8 (9 << 8)
51 # define RADEON_GMC_DST_VYUY (11 << 8)
52 # define RADEON_GMC_DST_YVYU (12 << 8)
53 # define RADEON_GMC_DST_AYUV444 (14 << 8)
54 # define RADEON_GMC_DST_ARGB4444 (15 << 8)
55 # define RADEON_GMC_DST_DATATYPE_MASK (0x0f << 8)
56 # define RADEON_GMC_DST_DATATYPE_SHIFT 8
57 # define RADEON_GMC_SRC_DATATYPE_MASK (3 << 12)
58 # define RADEON_GMC_SRC_DATATYPE_MONO_FG_BG (0 << 12)
59 # define RADEON_GMC_SRC_DATATYPE_MONO_FG_LA (1 << 12)
60 # define RADEON_GMC_SRC_DATATYPE_COLOR (3 << 12)
61 # define RADEON_GMC_BYTE_PIX_ORDER (1 << 14)
62 # define RADEON_GMC_BYTE_MSB_TO_LSB (0 << 14)
63 # define RADEON_GMC_BYTE_LSB_TO_MSB (1 << 14)
64 # define RADEON_GMC_CONVERSION_TEMP (1 << 15)
65 # define RADEON_GMC_CONVERSION_TEMP_6500 (0 << 15)
66 # define RADEON_GMC_CONVERSION_TEMP_9300 (1 << 15)
67 # define RADEON_GMC_ROP3_MASK (0xff << 16)
68 # define RADEON_DP_SRC_SOURCE_MASK (7 << 24)
69 # define RADEON_DP_SRC_SOURCE_MEMORY (2 << 24)
70 # define RADEON_DP_SRC_SOURCE_HOST_DATA (3 << 24)
71 # define RADEON_GMC_3D_FCN_EN (1 << 27)
72 # define RADEON_GMC_CLR_CMP_CNTL_DIS (1 << 28)
73 # define RADEON_GMC_AUX_CLIP_DIS (1 << 29)
74 # define RADEON_GMC_WR_MSK_DIS (1 << 30)
75 # define RADEON_GMC_LD_BRUSH_Y_X (1 << 31)
76 # define RADEON_ROP3_ZERO 0x00000000
77 # define RADEON_ROP3_DSa 0x00880000
78 # define RADEON_ROP3_SDna 0x00440000
79 # define RADEON_ROP3_S 0x00cc0000
80 # define RADEON_ROP3_DSna 0x00220000
81 # define RADEON_ROP3_D 0x00aa0000
82 # define RADEON_ROP3_DSx 0x00660000
83 # define RADEON_ROP3_DSo 0x00ee0000
84 # define RADEON_ROP3_DSon 0x00110000
85 # define RADEON_ROP3_DSxn 0x00990000
86 # define RADEON_ROP3_Dn 0x00550000
87 # define RADEON_ROP3_SDno 0x00dd0000
88 # define RADEON_ROP3_Sn 0x00330000
89 # define RADEON_ROP3_DSno 0x00bb0000
90 # define RADEON_ROP3_DSan 0x00770000
91 # define RADEON_ROP3_ONE 0x00ff0000
92 # define RADEON_ROP3_DPa 0x00a00000
93 # define RADEON_ROP3_PDna 0x00500000
94 # define RADEON_ROP3_P 0x00f00000
95 # define RADEON_ROP3_DPna 0x000a0000
96 # define RADEON_ROP3_D 0x00aa0000
97 # define RADEON_ROP3_DPx 0x005a0000
98 # define RADEON_ROP3_DPo 0x00fa0000
99 # define RADEON_ROP3_DPon 0x00050000
100 # define RADEON_ROP3_PDxn 0x00a50000
101 # define RADEON_ROP3_PDno 0x00f50000
102 # define RADEON_ROP3_Pn 0x000f0000
103 # define RADEON_ROP3_DPno 0x00af0000
104 # define RADEON_ROP3_DPan 0x005f0000
106 #define RADEON_DP_GUI_MASTER_CNTL_C 0x1c84
107 #define RADEON_DP_MIX 0x16c8
108 #define RADEON_DP_SRC_BKGD_CLR 0x15dc
109 #define RADEON_DP_SRC_FRGD_CLR 0x15d8
110 #define RADEON_DP_WRITE_MASK 0x16cc
112 #define RADEON_BRUSH_SCALE 0x1470
113 #define RADEON_BRUSH_Y_X 0x1474
114 #define RADEON_BRUSH_DATA0 0x1480
115 #define RADEON_BRUSH_DATA1 0x1484
116 #define RADEON_BRUSH_DATA2 0x1488
117 #define RADEON_BRUSH_DATA3 0x148c
118 #define RADEON_BRUSH_DATA4 0x1490
119 #define RADEON_BRUSH_DATA5 0x1494
120 #define RADEON_BRUSH_DATA6 0x1498
121 #define RADEON_BRUSH_DATA7 0x149c
122 #define RADEON_BRUSH_DATA8 0x14a0
123 #define RADEON_BRUSH_DATA9 0x14a4
124 #define RADEON_BRUSH_DATA10 0x14a8
125 #define RADEON_BRUSH_DATA11 0x14ac
126 #define RADEON_BRUSH_DATA12 0x14b0
127 #define RADEON_BRUSH_DATA13 0x14b4
128 #define RADEON_BRUSH_DATA14 0x14b8
129 #define RADEON_BRUSH_DATA15 0x14bc
130 #define RADEON_BRUSH_DATA16 0x14c0
131 #define RADEON_BRUSH_DATA17 0x14c4
132 #define RADEON_BRUSH_DATA18 0x14c8
133 #define RADEON_BRUSH_DATA19 0x14cc
134 #define RADEON_BRUSH_DATA20 0x14d0
135 #define RADEON_BRUSH_DATA21 0x14d4
136 #define RADEON_BRUSH_DATA22 0x14d8
137 #define RADEON_BRUSH_DATA23 0x14dc
138 #define RADEON_BRUSH_DATA24 0x14e0
139 #define RADEON_BRUSH_DATA25 0x14e4
140 #define RADEON_BRUSH_DATA26 0x14e8
141 #define RADEON_BRUSH_DATA27 0x14ec
142 #define RADEON_BRUSH_DATA28 0x14f0
143 #define RADEON_BRUSH_DATA29 0x14f4
144 #define RADEON_BRUSH_DATA30 0x14f8
145 #define RADEON_BRUSH_DATA31 0x14fc
146 #define RADEON_BRUSH_DATA32 0x1500
147 #define RADEON_BRUSH_DATA33 0x1504
148 #define RADEON_BRUSH_DATA34 0x1508
149 #define RADEON_BRUSH_DATA35 0x150c
150 #define RADEON_BRUSH_DATA36 0x1510
151 #define RADEON_BRUSH_DATA37 0x1514
152 #define RADEON_BRUSH_DATA38 0x1518
153 #define RADEON_BRUSH_DATA39 0x151c
154 #define RADEON_BRUSH_DATA40 0x1520
155 #define RADEON_BRUSH_DATA41 0x1524
156 #define RADEON_BRUSH_DATA42 0x1528
157 #define RADEON_BRUSH_DATA43 0x152c
158 #define RADEON_BRUSH_DATA44 0x1530
159 #define RADEON_BRUSH_DATA45 0x1534
160 #define RADEON_BRUSH_DATA46 0x1538
161 #define RADEON_BRUSH_DATA47 0x153c
162 #define RADEON_BRUSH_DATA48 0x1540
163 #define RADEON_BRUSH_DATA49 0x1544
164 #define RADEON_BRUSH_DATA50 0x1548
165 #define RADEON_BRUSH_DATA51 0x154c
166 #define RADEON_BRUSH_DATA52 0x1550
167 #define RADEON_BRUSH_DATA53 0x1554
168 #define RADEON_BRUSH_DATA54 0x1558
169 #define RADEON_BRUSH_DATA55 0x155c
170 #define RADEON_BRUSH_DATA56 0x1560
171 #define RADEON_BRUSH_DATA57 0x1564
172 #define RADEON_BRUSH_DATA58 0x1568
173 #define RADEON_BRUSH_DATA59 0x156c
174 #define RADEON_BRUSH_DATA60 0x1570
175 #define RADEON_BRUSH_DATA61 0x1574
176 #define RADEON_BRUSH_DATA62 0x1578
177 #define RADEON_BRUSH_DATA63 0x157c
179 #define RADEON_DEFAULT_SC_BOTTOM_RIGHT 0x16e8
180 # define RADEON_DEFAULT_SC_RIGHT_MAX (0x1fff << 0)
181 # define RADEON_DEFAULT_SC_BOTTOM_MAX (0x1fff << 16)
183 #define RADEON_DST_LINE_START 0x1600
184 #define RADEON_DST_LINE_END 0x1604
185 #define RADEON_DST_LINE_PATCOUNT 0x1608
186 # define RADEON_BRES_CNTL_SHIFT 8
187 #define RADEON_DEFAULT_OFFSET 0x16e0
188 #define RADEON_DEFAULT_PITCH 0x16e4
190 #define RADEON_SRC_PITCH_OFFSET 0x1428
191 #define RADEON_DST_PITCH_OFFSET 0x142c
194 #endif