b30baf09bc50d5af74bd1e6eadf5600877506c93
[mesa.git] / src / gallium / drivers / r600 / sb / sb_bc_fmt_def.inc
1 /*
2 * Copyright 2013 Vadim Girlin <vadimgirlin@gmail.com>
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * on the rights to use, copy, modify, merge, publish, distribute, sub
8 * license, and/or sell copies of the Software, and to permit persons to whom
9 * the Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
19 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
20 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
21 * USE OR OTHER DEALINGS IN THE SOFTWARE.
22 *
23 * Authors:
24 * Vadim Girlin
25 */
26
27 // TODO add all formats
28
29 // CF
30
31 BC_FORMAT_BEGIN_HW(CF_WORD0, R6R7)
32 BC_FIELD(CF_WORD0, ADDR, ADDR, 31, 0)
33 BC_FORMAT_END(CF_WORD0)
34
35 BC_FORMAT_BEGIN_HW(CF_WORD0, EGCM)
36 BC_FIELD(CF_WORD0, ADDR, ADDR, 23, 0)
37 BC_FIELD(CF_WORD0, JUMPTABLE_SEL, JTS, 26, 24)
38 BC_RSRVD(CF_WORD0, 31, 27)
39 BC_FORMAT_END(CF_WORD0)
40
41
42 BC_FORMAT_BEGIN_HW(CF_GWS_WORD0, EGCM)
43 BC_FIELD(CF_GWS_WORD0, VALUE, VAL, 9, 0)
44 BC_RSRVD(CF_GWS_WORD0, 15, 10)
45 BC_FIELD(CF_GWS_WORD0, RESOURCE, RSRC, 20, 16)
46 BC_RSRVD(CF_GWS_WORD0, 24, 21)
47 BC_FIELD(CF_GWS_WORD0, SIGN, SIGN, 25, 25)
48 BC_FIELD(CF_GWS_WORD0, VAL_INDEX_MODE, VIM, 27, 26)
49 BC_FIELD(CF_GWS_WORD0, RSRC_INDEX_MODE, RIM, 29, 28)
50 BC_FIELD(CF_GWS_WORD0, GWS_OPCODE, GWS_OP, 31, 30)
51 BC_FORMAT_END(CF_GWS_WORD0)
52
53
54 BC_FORMAT_BEGIN_HW(CF_WORD1, R6R7)
55 BC_FIELD(CF_WORD1, POP_COUNT, PC, 2, 0)
56 BC_FIELD(CF_WORD1, CF_CONST, CF_CONST, 7, 3)
57 BC_FIELD(CF_WORD1, COND, COND, 9, 8)
58 BC_FIELD(CF_WORD1, COUNT, COUNT, 12, 10)
59 BC_FIELD(CF_WORD1, CALL_COUNT, CALL_CNT, 18, 13)
60 BC_FIELD(CF_WORD1, COUNT_3, COUNT_3, 19, 19)
61 BC_RSRVD(CF_WORD1, 20, 20)
62 BC_FIELD(CF_WORD1, END_OF_PROGRAM, EOP, 21, 21)
63 BC_FIELD(CF_WORD1, VALID_PIXEL_MODE, VPM, 22, 22)
64 BC_FIELD(CF_WORD1, CF_INST, CF_INST, 29, 23)
65 BC_FIELD(CF_WORD1, WHOLE_QUAD_MODE, WQM, 30, 30)
66 BC_FIELD(CF_WORD1, BARRIER, B, 31, 31)
67 BC_FORMAT_END(CF_WORD1)
68
69 BC_FORMAT_BEGIN_HW(CF_WORD1, EG)
70 BC_FIELD(CF_WORD1, POP_COUNT, PC, 2, 0)
71 BC_FIELD(CF_WORD1, CF_CONST, CF_CONST, 7, 3)
72 BC_FIELD(CF_WORD1, COND, COND, 9, 8)
73 BC_FIELD(CF_WORD1, COUNT, COUNT, 15, 10)
74 BC_RSRVD(CF_WORD1, 19, 16)
75 BC_FIELD(CF_WORD1, VALID_PIXEL_MODE, VPM, 20, 20)
76 BC_FIELD(CF_WORD1, END_OF_PROGRAM, EOP, 21, 21)
77 BC_FIELD(CF_WORD1, CF_INST, CF_INST, 29, 22)
78 BC_FIELD(CF_WORD1, WHOLE_QUAD_MODE, WQM, 30, 30)
79 BC_FIELD(CF_WORD1, BARRIER, B, 31, 31)
80 BC_FORMAT_END(CF_WORD1)
81
82 BC_FORMAT_BEGIN_HW(CF_WORD1, CM)
83 BC_FIELD(CF_WORD1, POP_COUNT, PC, 2, 0)
84 BC_FIELD(CF_WORD1, CF_CONST, CF_CONST, 7, 3)
85 BC_FIELD(CF_WORD1, COND, COND, 9, 8)
86 BC_FIELD(CF_WORD1, COUNT, COUNT, 15, 10)
87 BC_RSRVD(CF_WORD1, 19, 16)
88 BC_FIELD(CF_WORD1, VALID_PIXEL_MODE, VPM, 20, 20)
89 BC_RSRVD(CF_WORD1, 21, 21)
90 BC_FIELD(CF_WORD1, CF_INST, CF_INST, 29, 22)
91 BC_RSRVD(CF_WORD1, 30, 30)
92 BC_FIELD(CF_WORD1, BARRIER, B, 31, 31)
93 BC_FORMAT_END(CF_WORD1)
94
95
96 BC_FORMAT_BEGIN(CF_ALU_WORD0)
97 BC_FIELD(CF_ALU_WORD0, ADDR, ADDR, 21, 0)
98 BC_FIELD(CF_ALU_WORD0, KCACHE_BANK0, KB0, 25, 22)
99 BC_FIELD(CF_ALU_WORD0, KCACHE_BANK1, KB1, 29, 26)
100 BC_FIELD(CF_ALU_WORD0, KCACHE_MODE0, KM0, 31, 30)
101 BC_FORMAT_END(CF_ALU_WORD0)
102
103 BC_FORMAT_BEGIN_HW(CF_ALU_WORD1, R6)
104 BC_FIELD(CF_ALU_WORD1, KCACHE_MODE1, KM1, 1, 0)
105 BC_FIELD(CF_ALU_WORD1, KCACHE_ADDR0, KA0, 9, 2)
106 BC_FIELD(CF_ALU_WORD1, KCACHE_ADDR1, KA1, 17, 10)
107 BC_FIELD(CF_ALU_WORD1, COUNT, COUNT, 24, 18)
108 BC_FIELD(CF_ALU_WORD1, USES_WATERFALL, UW, 25, 25)
109 BC_FIELD(CF_ALU_WORD1, CF_INST, CF_INST, 29, 26)
110 BC_FIELD(CF_ALU_WORD1, WHOLE_QUAD_MODE, WQM, 30, 30)
111 BC_FIELD(CF_ALU_WORD1, BARRIER, B, 31, 31)
112 BC_FORMAT_END(CF_ALU_WORD1)
113
114 BC_FORMAT_BEGIN_HW(CF_ALU_WORD1, R7EGCM)
115 BC_FIELD(CF_ALU_WORD1, KCACHE_MODE1, KM1, 1, 0)
116 BC_FIELD(CF_ALU_WORD1, KCACHE_ADDR0, KA0, 9, 2)
117 BC_FIELD(CF_ALU_WORD1, KCACHE_ADDR1, KA1, 17, 10)
118 BC_FIELD(CF_ALU_WORD1, COUNT, COUNT, 24, 18)
119 BC_FIELD(CF_ALU_WORD1, ALT_CONST, ALT_C, 25, 25)
120 BC_FIELD(CF_ALU_WORD1, CF_INST, CF_INST, 29, 26)
121 BC_FIELD(CF_ALU_WORD1, WHOLE_QUAD_MODE, WQM, 30, 30)
122 BC_FIELD(CF_ALU_WORD1, BARRIER, B, 31, 31)
123 BC_FORMAT_END(CF_ALU_WORD1)
124
125
126 BC_FORMAT_BEGIN_HW(CF_ALU_WORD0_EXT, EGCM)
127 BC_RSRVD(CF_ALU_WORD0_EXT, 3, 0)
128 BC_FIELD(CF_ALU_WORD0_EXT, KCACHE_BANK_INDEX_MODE0, KBIM0, 5, 4)
129 BC_FIELD(CF_ALU_WORD0_EXT, KCACHE_BANK_INDEX_MODE1, KBIM1, 7, 6)
130 BC_FIELD(CF_ALU_WORD0_EXT, KCACHE_BANK_INDEX_MODE2, KBIM2, 9, 8)
131 BC_FIELD(CF_ALU_WORD0_EXT, KCACHE_BANK_INDEX_MODE3, KBIM3, 11, 10)
132 BC_RSRVD(CF_ALU_WORD0_EXT, 21, 12)
133 BC_FIELD(CF_ALU_WORD0_EXT, KCACHE_BANK2, KB2, 25, 22)
134 BC_FIELD(CF_ALU_WORD0_EXT, KCACHE_BANK3, KB3, 29, 26)
135 BC_FIELD(CF_ALU_WORD0_EXT, KCACHE_MODE2, KM2, 31, 30)
136 BC_FORMAT_END(CF_ALU_WORD0_EXT)
137
138 BC_FORMAT_BEGIN_HW(CF_ALU_WORD1_EXT, EGCM)
139 BC_FIELD(CF_ALU_WORD1_EXT, KCACHE_MODE3, KM3, 1, 0)
140 BC_FIELD(CF_ALU_WORD1_EXT, KCACHE_ADDR2, KA2, 9, 2)
141 BC_FIELD(CF_ALU_WORD1_EXT, KCACHE_ADDR3, KA3, 17, 10)
142 BC_RSRVD(CF_ALU_WORD1_EXT, 25, 18)
143 BC_FIELD(CF_ALU_WORD1_EXT, CF_INST, CF_INST, 29, 26)
144 BC_RSRVD(CF_ALU_WORD1_EXT, 30, 30)
145 BC_FIELD(CF_ALU_WORD1_EXT, BARRIER, B, 31, 31)
146 BC_FORMAT_END(CF_ALU_WORD1_EXT)
147
148
149 BC_FORMAT_BEGIN(CF_ALLOC_EXPORT_WORD0)
150 BC_FIELD(CF_ALLOC_EXPORT_WORD0, ARRAY_BASE, ARR_BS, 12, 0)
151 BC_FIELD(CF_ALLOC_EXPORT_WORD0, TYPE, TYPE, 14, 13)
152 BC_FIELD(CF_ALLOC_EXPORT_WORD0, RW_GPR, RW_GPR, 21, 15)
153 BC_FIELD(CF_ALLOC_EXPORT_WORD0, RW_REL, RW_REL, 22, 22)
154 BC_FIELD(CF_ALLOC_EXPORT_WORD0, INDEX_GPR, IND_GPR, 29, 23)
155 BC_FIELD(CF_ALLOC_EXPORT_WORD0, ELEM_SIZE, ES, 31, 30)
156 BC_FORMAT_END(CF_ALLOC_EXPORT_WORD0)
157
158 BC_FORMAT_BEGIN_HW(CF_ALLOC_EXPORT_WORD0_RAT, EGCM)
159 BC_FIELD(CF_ALLOC_EXPORT_WORD0_RAT, RAT_ID, R_ID, 3, 0)
160 BC_FIELD(CF_ALLOC_EXPORT_WORD0_RAT, RAT_INST, R_INST, 9, 4)
161 BC_RSRVD(CF_ALLOC_EXPORT_WORD0_RAT, 10, 10)
162 BC_FIELD(CF_ALLOC_EXPORT_WORD0_RAT, RAT_INDEX_MODE, RIM, 12, 11)
163 BC_FIELD(CF_ALLOC_EXPORT_WORD0_RAT, TYPE, TYPE, 14, 13)
164 BC_FIELD(CF_ALLOC_EXPORT_WORD0_RAT, RW_GPR, RW_GPR, 21, 15)
165 BC_FIELD(CF_ALLOC_EXPORT_WORD0_RAT, RW_REL, RW_REL, 22, 22)
166 BC_FIELD(CF_ALLOC_EXPORT_WORD0_RAT, INDEX_GPR, IND_GPR, 29, 23)
167 BC_FIELD(CF_ALLOC_EXPORT_WORD0_RAT, ELEM_SIZE, ES, 31, 30)
168 BC_FORMAT_END(CF_ALLOC_EXPORT_WORD0_RAT)
169
170 BC_FORMAT_BEGIN_HW(CF_ALLOC_EXPORT_WORD1_BUF, R6R7)
171 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, ARRAY_SIZE, ARR_SZ, 11, 0)
172 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, COMP_MASK, MASK, 15, 12)
173 BC_RSRVD(CF_ALLOC_EXPORT_WORD1_BUF, 16, 16)
174 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, BURST_COUNT, BURST, 20, 17)
175 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, END_OF_PROGRAM, EOP, 21, 21)
176 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, VALID_PIXEL_MODE, VPM, 22, 22)
177 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, CF_INST, CF_INST, 29, 23)
178 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, WHOLE_QUAD_MODE, WQM, 30, 30)
179 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, BARRIER, B, 31, 31)
180 BC_FORMAT_END(CF_ALLOC_EXPORT_WORD1_BUF)
181
182 BC_FORMAT_BEGIN_HW(CF_ALLOC_EXPORT_WORD1_BUF, EG)
183 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, ARRAY_SIZE, ARR_SZ, 11, 0)
184 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, COMP_MASK, MASK, 15, 12)
185 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, BURST_COUNT, BURST, 19, 16)
186 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, VALID_PIXEL_MODE, VPM, 20, 20)
187 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, END_OF_PROGRAM, EOP, 21, 21)
188 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, CF_INST, CF_INST, 29, 22)
189 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, MARK, MARK, 30, 30)
190 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, BARRIER, B, 31, 31)
191 BC_FORMAT_END(CF_ALLOC_EXPORT_WORD1_BUF)
192
193 BC_FORMAT_BEGIN_HW(CF_ALLOC_EXPORT_WORD1_BUF, CM)
194 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, ARRAY_SIZE, ARR_SZ, 11, 0)
195 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, COMP_MASK, MASK, 15, 12)
196 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, BURST_COUNT, BURST, 19, 16)
197 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, VALID_PIXEL_MODE, VPM, 20, 20)
198 BC_RSRVD(CF_ALLOC_EXPORT_WORD1_BUF, 21, 21)
199 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, CF_INST, CF_INST, 29, 22)
200 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, MARK, MARK, 30, 30)
201 BC_FIELD(CF_ALLOC_EXPORT_WORD1_BUF, BARRIER, B, 31, 31)
202 BC_FORMAT_END(CF_ALLOC_EXPORT_WORD1_BUF)
203
204 BC_FORMAT_BEGIN_HW(CF_ALLOC_EXPORT_WORD1_SWIZ, R6R7)
205 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_X, SEL_X, 2, 0)
206 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_Y, SEL_Y, 5, 3)
207 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_Z, SEL_Z, 8, 6)
208 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_W, SEL_W, 11, 9)
209 BC_RSRVD(CF_ALLOC_EXPORT_WORD1_SWIZ, 16, 12)
210 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, BURST_COUNT, BURST, 20, 17)
211 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, END_OF_PROGRAM, EOP, 21, 21)
212 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, VALID_PIXEL_MODE, VPM, 22, 22)
213 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, CF_INST, CF_INST, 29, 23)
214 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, WHOLE_QUAD_MODE, WQM, 30, 30)
215 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, BARRIER, B, 31, 31)
216 BC_FORMAT_END(CF_ALLOC_EXPORT_WORD1_SWIZ)
217
218 BC_FORMAT_BEGIN_HW(CF_ALLOC_EXPORT_WORD1_SWIZ, EG)
219 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_X, SEL_X, 2, 0)
220 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_Y, SEL_Y, 5, 3)
221 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_Z, SEL_Z, 8, 6)
222 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_W, SEL_W, 11, 9)
223 BC_RSRVD(CF_ALLOC_EXPORT_WORD1_SWIZ, 15, 12)
224 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, BURST_COUNT, BURST, 19, 16)
225 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, VALID_PIXEL_MODE, VPM, 20, 20)
226 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, END_OF_PROGRAM, EOP, 21, 21)
227 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, CF_INST, CF_INST, 29, 22)
228 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, MARK, M, 30, 30)
229 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, BARRIER, B, 31, 31)
230 BC_FORMAT_END(CF_ALLOC_EXPORT_WORD1_SWIZ)
231
232 BC_FORMAT_BEGIN_HW(CF_ALLOC_EXPORT_WORD1_SWIZ, CM)
233 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_X, SEL_X, 2, 0)
234 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_Y, SEL_Y, 5, 3)
235 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_Z, SEL_Z, 8, 6)
236 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, SEL_W, SEL_W, 11, 9)
237 BC_RSRVD(CF_ALLOC_EXPORT_WORD1_SWIZ, 15, 12)
238 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, BURST_COUNT, BURST, 19, 16)
239 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, VALID_PIXEL_MODE, VPM, 20, 20)
240 BC_RSRVD(CF_ALLOC_EXPORT_WORD1_SWIZ, 21, 21)
241 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, CF_INST, CF_INST, 29, 22)
242 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, MARK, M, 30, 30)
243 BC_FIELD(CF_ALLOC_EXPORT_WORD1_SWIZ, BARRIER, B, 31, 31)
244 BC_FORMAT_END(CF_ALLOC_EXPORT_WORD1_SWIZ)
245
246 // ALU
247
248 BC_FORMAT_BEGIN(ALU_WORD0)
249 BC_FIELD(ALU_WORD0, SRC0_SEL, S0S, 8, 0)
250 BC_FIELD(ALU_WORD0, SRC0_REL, S0R, 9, 9)
251 BC_FIELD(ALU_WORD0, SRC0_CHAN, S0C, 11, 10)
252 BC_FIELD(ALU_WORD0, SRC0_NEG, S0N, 12, 12)
253 BC_FIELD(ALU_WORD0, SRC1_SEL, S1S, 21, 13)
254 BC_FIELD(ALU_WORD0, SRC1_REL, S1R, 22, 22)
255 BC_FIELD(ALU_WORD0, SRC1_CHAN, S1C, 24, 23)
256 BC_FIELD(ALU_WORD0, SRC1_NEG, S1N, 25, 25)
257 BC_FIELD(ALU_WORD0, INDEX_MODE, IM, 28, 26)
258 BC_FIELD(ALU_WORD0, PRED_SEL, PS, 30, 29)
259 BC_FIELD(ALU_WORD0, LAST, L, 31, 31)
260 BC_FORMAT_END(ALU_WORD0)
261
262 BC_FORMAT_BEGIN_HW(ALU_WORD1_OP2, R6)
263 BC_FIELD(ALU_WORD1_OP2, SRC0_ABS, S0A, 0, 0)
264 BC_FIELD(ALU_WORD1_OP2, SRC1_ABS, S1A, 1, 1)
265 BC_FIELD(ALU_WORD1_OP2, UPDATE_EXEC_MASK, UEM, 2, 2)
266 BC_FIELD(ALU_WORD1_OP2, UPDATE_PRED, UP, 3, 3)
267 BC_FIELD(ALU_WORD1_OP2, WRITE_MASK, WM, 4, 4)
268 BC_FIELD(ALU_WORD1_OP2, FOG_MERGE, FM, 5, 5)
269 BC_FIELD(ALU_WORD1_OP2, OMOD, OMOD, 7, 6)
270 BC_FIELD(ALU_WORD1_OP2, ALU_INST, INST, 17, 8)
271 BC_FIELD(ALU_WORD1_OP2, BANK_SWIZZLE, BS, 20, 18)
272 BC_FIELD(ALU_WORD1_OP2, DST_GPR, DGPR, 27, 21)
273 BC_FIELD(ALU_WORD1_OP2, DST_REL, DR, 28, 28)
274 BC_FIELD(ALU_WORD1_OP2, DST_CHAN, DC, 30, 29)
275 BC_FIELD(ALU_WORD1_OP2, CLAMP, C, 31, 31)
276 BC_FORMAT_END(ALU_WORD1_OP2)
277
278 BC_FORMAT_BEGIN_HW(ALU_WORD1_OP2, R7EGCM)
279 BC_FIELD(ALU_WORD1_OP2, SRC0_ABS, S0A, 0, 0)
280 BC_FIELD(ALU_WORD1_OP2, SRC1_ABS, S1A, 1, 1)
281 BC_FIELD(ALU_WORD1_OP2, UPDATE_EXEC_MASK, UEM, 2, 2)
282 BC_FIELD(ALU_WORD1_OP2, UPDATE_PRED, UP, 3, 3)
283 BC_FIELD(ALU_WORD1_OP2, WRITE_MASK, WM, 4, 4)
284 BC_FIELD(ALU_WORD1_OP2, OMOD, OMOD, 6, 5)
285 BC_FIELD(ALU_WORD1_OP2, ALU_INST, INST, 17, 7)
286 BC_FIELD(ALU_WORD1_OP2, BANK_SWIZZLE, BS, 20, 18)
287 BC_FIELD(ALU_WORD1_OP2, DST_GPR, DGPR, 27, 21)
288 BC_FIELD(ALU_WORD1_OP2, DST_REL, DR, 28, 28)
289 BC_FIELD(ALU_WORD1_OP2, DST_CHAN, DC, 30, 29)
290 BC_FIELD(ALU_WORD1_OP2, CLAMP, C, 31, 31)
291 BC_FORMAT_END(ALU_WORD1_OP2)
292
293 BC_FORMAT_BEGIN_HW(ALU_WORD1_OP2_MOVA, CM)
294 BC_FIELD(ALU_WORD1_OP2_MOVA, SRC0_ABS, S0A, 0, 0)
295 BC_FIELD(ALU_WORD1_OP2_MOVA, SRC1_ABS, S1A, 1, 1)
296 BC_FIELD(ALU_WORD1_OP2_MOVA, UPDATE_EXEC_MASK, UEM, 2, 2)
297 BC_FIELD(ALU_WORD1_OP2_MOVA, UPDATE_PRED, UP, 3, 3)
298 BC_FIELD(ALU_WORD1_OP2_MOVA, WRITE_MASK, WM, 4, 4)
299 BC_FIELD(ALU_WORD1_OP2_MOVA, OMOD, OMOD, 6, 5)
300 BC_FIELD(ALU_WORD1_OP2_MOVA, ALU_INST, INST, 17, 7)
301 BC_FIELD(ALU_WORD1_OP2_MOVA, BANK_SWIZZLE, BS, 20, 18)
302 BC_FIELD(ALU_WORD1_OP2_MOVA, MOVA_DST, MOVA_DST, 27, 21)
303 BC_FIELD(ALU_WORD1_OP2_MOVA, DST_REL, DR, 28, 28)
304 BC_FIELD(ALU_WORD1_OP2_MOVA, DST_CHAN, DC, 30, 29)
305 BC_FIELD(ALU_WORD1_OP2_MOVA, CLAMP, C, 31, 31)
306 BC_FORMAT_END(ALU_WORD1_OP2_MOVA)
307
308 BC_FORMAT_BEGIN_HW(ALU_WORD1_OP2_EXEC_MASK, CM)
309 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, SRC0_ABS, S0A, 0, 0)
310 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, SRC1_ABS, S1A, 1, 1)
311 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, UPDATE_EXEC_MASK, UEM, 2, 2)
312 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, UPDATE_PRED, UP, 3, 3)
313 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, WRITE_MASK, WM, 4, 4)
314 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, EXECUTE_MASK_OP, EMO, 6, 5)
315 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, ALU_INST, INST, 17, 7)
316 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, BANK_SWIZZLE, BS, 20, 18)
317 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, DST_GPR, DGPR, 27, 21)
318 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, DST_REL, DR, 28, 28)
319 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, DST_CHAN, DC, 30, 29)
320 BC_FIELD(ALU_WORD1_OP2_EXEC_MASK, CLAMP, C, 31, 31)
321 BC_FORMAT_END(ALU_WORD1_OP2_EXEC_MASK)
322
323 BC_FORMAT_BEGIN(ALU_WORD1_OP3)
324 BC_FIELD(ALU_WORD1_OP3, SRC2_SEL, S2S, 8, 0)
325 BC_FIELD(ALU_WORD1_OP3, SRC2_REL, S2R, 9, 9)
326 BC_FIELD(ALU_WORD1_OP3, SRC2_CHAN, S2C, 11, 10)
327 BC_FIELD(ALU_WORD1_OP3, SRC2_NEG, S2N, 12, 12)
328 BC_FIELD(ALU_WORD1_OP3, ALU_INST, INST, 17, 13)
329 BC_FIELD(ALU_WORD1_OP3, BANK_SWIZZLE, BS, 20, 18)
330 BC_FIELD(ALU_WORD1_OP3, DST_GPR, DGPR, 27, 21)
331 BC_FIELD(ALU_WORD1_OP3, DST_REL, DR, 28, 28)
332 BC_FIELD(ALU_WORD1_OP3, DST_CHAN, DC, 30, 29)
333 BC_FIELD(ALU_WORD1_OP3, CLAMP, C, 31, 31)
334 BC_FORMAT_END(ALU_WORD1_OP3)
335
336
337 BC_FORMAT_BEGIN_HW(ALU_WORD0_LDS_IDX_OP, EGCM)
338 BC_FIELD(ALU_WORD0_LDS_IDX_OP, SRC0_SEL, S0S, 8, 0)
339 BC_FIELD(ALU_WORD0_LDS_IDX_OP, SRC0_REL, S0R, 9, 9)
340 BC_FIELD(ALU_WORD0_LDS_IDX_OP, SRC0_CHAN, S0C, 11, 10)
341 BC_FIELD(ALU_WORD0_LDS_IDX_OP, IDX_OFFSET_4, IO4, 12, 12)
342 BC_FIELD(ALU_WORD0_LDS_IDX_OP, SRC1_SEL, S1S, 21, 13)
343 BC_FIELD(ALU_WORD0_LDS_IDX_OP, SRC1_REL, S1R, 22, 22)
344 BC_FIELD(ALU_WORD0_LDS_IDX_OP, SRC1_CHAN, S1C, 24, 23)
345 BC_FIELD(ALU_WORD0_LDS_IDX_OP, IDX_OFFSET_5, IO5, 25, 25)
346 BC_FIELD(ALU_WORD0_LDS_IDX_OP, INDEX_MODE, IM, 28, 26)
347 BC_FIELD(ALU_WORD0_LDS_IDX_OP, PRED_SEL, PS, 30, 29)
348 BC_FIELD(ALU_WORD0_LDS_IDX_OP, LAST, L, 31, 31)
349 BC_FORMAT_END(ALU_WORD0_LDS_IDX_OP)
350
351 BC_FORMAT_BEGIN_HW(ALU_WORD1_LDS_IDX_OP, EGCM)
352 BC_FIELD(ALU_WORD1_LDS_IDX_OP, SRC2_SEL, S2S, 8, 0)
353 BC_FIELD(ALU_WORD1_LDS_IDX_OP, SRC2_REL, S2R, 9, 9)
354 BC_FIELD(ALU_WORD1_LDS_IDX_OP, SRC2_CHAN, S2C, 11, 10)
355 BC_FIELD(ALU_WORD1_LDS_IDX_OP, IDX_OFFSET_1, IO1, 12, 12)
356 BC_FIELD(ALU_WORD1_LDS_IDX_OP, ALU_INST, INST, 17, 13)
357 BC_FIELD(ALU_WORD1_LDS_IDX_OP, BANK_SWIZZLE, BS, 20, 18)
358 BC_FIELD(ALU_WORD1_LDS_IDX_OP, LDS_OP, LDS_OP, 26, 21)
359 BC_FIELD(ALU_WORD1_LDS_IDX_OP, IDX_OFFSET_0, IO0, 27, 27)
360 BC_FIELD(ALU_WORD1_LDS_IDX_OP, IDX_OFFSET_2, IO2, 28, 28)
361 BC_FIELD(ALU_WORD1_LDS_IDX_OP, DST_CHAN, DC, 30, 29)
362 BC_FIELD(ALU_WORD1_LDS_IDX_OP, IDX_OFFSET_3, IO3, 31, 31)
363 BC_FORMAT_END(ALU_WORD1_LDS_IDX_OP)
364
365
366 BC_FORMAT_BEGIN_HW(ALU_WORD1_LDS_DIRECT_LITERAL_LO, EGCM)
367 BC_FIELD(ALU_WORD1_LDS_DIRECT_LITERAL_LO, OFFSET_A, OFS_A, 12, 0)
368 BC_FIELD(ALU_WORD1_LDS_DIRECT_LITERAL_LO, STRIDE_A, STR_A, 19, 13)
369 BC_RSRVD(ALU_WORD1_LDS_DIRECT_LITERAL_LO, 21, 20)
370 BC_FIELD(ALU_WORD1_LDS_DIRECT_LITERAL_LO, THREAD_REL_A, THR_A, 22, 22)
371 BC_RSRVD(ALU_WORD1_LDS_DIRECT_LITERAL_LO, 31, 22)
372 BC_FORMAT_END(ALU_WORD1_LDS_DIRECT_LITERAL_LO)
373
374 BC_FORMAT_BEGIN_HW(ALU_WORD1_LDS_DIRECT_LITERAL_HI, EGCM)
375 BC_FIELD(ALU_WORD1_LDS_DIRECT_LITERAL_HI, OFFSET_B, OFS_B, 12, 0)
376 BC_FIELD(ALU_WORD1_LDS_DIRECT_LITERAL_HI, STRIDE_B, STR_B, 19, 13)
377 BC_RSRVD(ALU_WORD1_LDS_DIRECT_LITERAL_HI, 21, 20)
378 BC_FIELD(ALU_WORD1_LDS_DIRECT_LITERAL_HI, THREAD_REL_B, THR_B, 22, 22)
379 BC_RSRVD(ALU_WORD1_LDS_DIRECT_LITERAL_HI, 30, 22)
380 BC_FIELD(ALU_WORD1_LDS_DIRECT_LITERAL_HI, DIRECT_READ_32, DR32, 31, 31)
381 BC_FORMAT_END(ALU_WORD1_LDS_DIRECT_LITERAL_HI)
382
383
384 // VTX
385
386 BC_FORMAT_BEGIN_HW(VTX_WORD0, R6R7EG)
387 BC_FIELD(VTX_WORD0, VC_INST, INST, 4, 0)
388 BC_FIELD(VTX_WORD0, FETCH_TYPE, FT, 6, 5)
389 BC_FIELD(VTX_WORD0, FETCH_WHOLE_QUAD, FWQ, 7, 7)
390 BC_FIELD(VTX_WORD0, BUFFER_ID, BUF_ID, 15, 8)
391 BC_FIELD(VTX_WORD0, SRC_GPR, S_GPR, 22, 16)
392 BC_FIELD(VTX_WORD0, SRC_REL, SR, 23, 23)
393 BC_FIELD(VTX_WORD0, SRC_SEL_X, SSX, 25, 24)
394 BC_FIELD(VTX_WORD0, MEGA_FETCH_COUNT, MFC, 31, 26)
395 BC_FORMAT_END(VTX_WORD0)
396
397 BC_FORMAT_BEGIN_HW(VTX_WORD0, CM)
398 BC_FIELD(VTX_WORD0, VC_INST, INST, 4, 0)
399 BC_FIELD(VTX_WORD0, FETCH_TYPE, FT, 6, 5)
400 BC_FIELD(VTX_WORD0, FETCH_WHOLE_QUAD, FWQ, 7, 7)
401 BC_FIELD(VTX_WORD0, BUFFER_ID, BUF_ID, 15, 8)
402 BC_FIELD(VTX_WORD0, SRC_GPR, S_GPR, 22, 16)
403 BC_FIELD(VTX_WORD0, SRC_REL, SR, 23, 23)
404 BC_FIELD(VTX_WORD0, SRC_SEL_X, SSX, 25, 24)
405 BC_FIELD(VTX_WORD0, SRC_SEL_Y, SSY, 27, 26)
406 BC_FIELD(VTX_WORD0, STRUCTURED_READ, SR, 29, 28)
407 BC_FIELD(VTX_WORD0, LDS_REQ, LR, 30, 30)
408 BC_FIELD(VTX_WORD0, COALESCED_READ, CR, 31, 31)
409 BC_FORMAT_END(VTX_WORD0)
410
411
412 BC_FORMAT_BEGIN(VTX_WORD1_GPR)
413 BC_FIELD(VTX_WORD1_GPR, DST_GPR, D_GPR, 6, 0)
414 BC_FIELD(VTX_WORD1_GPR, DST_REL, DR, 7, 7)
415 BC_RSRVD(VTX_WORD1_GPR, 8, 8)
416 BC_FIELD(VTX_WORD1_GPR, DST_SEL_X, DSX, 11, 9)
417 BC_FIELD(VTX_WORD1_GPR, DST_SEL_Y, DSY, 14, 12)
418 BC_FIELD(VTX_WORD1_GPR, DST_SEL_Z, DSZ, 17, 15)
419 BC_FIELD(VTX_WORD1_GPR, DST_SEL_W, DSW, 20, 18)
420 BC_FIELD(VTX_WORD1_GPR, USE_CONST_FIELDS, UCF, 21, 21)
421 BC_FIELD(VTX_WORD1_GPR, DATA_FORMAT, DFMT, 27, 22)
422 BC_FIELD(VTX_WORD1_GPR, NUM_FORMAT_ALL, NFA, 29, 28)
423 BC_FIELD(VTX_WORD1_GPR, FORMAT_COMP_ALL, FCA, 30, 30)
424 BC_FIELD(VTX_WORD1_GPR, SRF_MODE_ALL, SMA, 31, 31)
425 BC_FORMAT_END(VTX_WORD1_GPR)
426
427 BC_FORMAT_BEGIN(VTX_WORD1_SEM)
428 BC_FIELD(VTX_WORD1_SEM, SEMANTIC_ID, SID, 7, 0)
429 BC_RSRVD(VTX_WORD1_SEM, 8, 8)
430 BC_FIELD(VTX_WORD1_SEM, DST_SEL_X, DSX, 11, 9)
431 BC_FIELD(VTX_WORD1_SEM, DST_SEL_Y, DSY, 14, 12)
432 BC_FIELD(VTX_WORD1_SEM, DST_SEL_Z, DSZ, 17, 15)
433 BC_FIELD(VTX_WORD1_SEM, DST_SEL_W, DSW, 20, 18)
434 BC_FIELD(VTX_WORD1_SEM, USE_CONST_FIELDS, UCF, 21, 21)
435 BC_FIELD(VTX_WORD1_SEM, DATA_FORMAT, DFMT, 27, 22)
436 BC_FIELD(VTX_WORD1_SEM, NUM_FORMAT_ALL, NFA, 29, 28)
437 BC_FIELD(VTX_WORD1_SEM, FORMAT_COMP_ALL, FCA, 30, 30)
438 BC_FIELD(VTX_WORD1_SEM, SRF_MODE_ALL, SMA, 31, 31)
439 BC_FORMAT_END(VTX_WORD1_SEM)
440
441
442 BC_FORMAT_BEGIN_HW(VTX_WORD2, R6)
443 BC_FIELD(VTX_WORD2, OFFSET, OFS, 15, 0)
444 BC_FIELD(VTX_WORD2, ENDIAN_SWAP, ES, 17, 16)
445 BC_FIELD(VTX_WORD2, CONST_BUF_NO_STRIDE, CBNS, 18, 18)
446 BC_FIELD(VTX_WORD2, MEGA_FETCH, MF, 19, 19)
447 BC_RSRVD(VTX_WORD2, 31, 20)
448 BC_FORMAT_END(VTX_WORD2)
449
450 BC_FORMAT_BEGIN_HW(VTX_WORD2, R7)
451 BC_FIELD(VTX_WORD2, OFFSET, OFS, 15, 0)
452 BC_FIELD(VTX_WORD2, ENDIAN_SWAP, ES, 17, 16)
453 BC_FIELD(VTX_WORD2, CONST_BUF_NO_STRIDE, CBNS, 18, 18)
454 BC_FIELD(VTX_WORD2, MEGA_FETCH, MF, 19, 19)
455 BC_FIELD(VTX_WORD2, ALT_CONST, ALT_C, 20, 20)
456 BC_RSRVD(VTX_WORD2, 31, 21)
457 BC_FORMAT_END(VTX_WORD2)
458
459 BC_FORMAT_BEGIN_HW(VTX_WORD2, EG)
460 BC_FIELD(VTX_WORD2, OFFSET, OFS, 15, 0)
461 BC_FIELD(VTX_WORD2, ENDIAN_SWAP, ES, 17, 16)
462 BC_FIELD(VTX_WORD2, CONST_BUF_NO_STRIDE, CBNS, 18, 18)
463 BC_FIELD(VTX_WORD2, MEGA_FETCH, MF, 19, 19)
464 BC_FIELD(VTX_WORD2, ALT_CONST, ALT_C, 20, 20)
465 BC_FIELD(VTX_WORD2, BUFFER_INDEX_MODE, BIM, 22, 21)
466 BC_RSRVD(VTX_WORD2, 31, 23)
467 BC_FORMAT_END(VTX_WORD2)
468
469 BC_FORMAT_BEGIN_HW(VTX_WORD2, CM)
470 BC_FIELD(VTX_WORD2, OFFSET, OFS, 15, 0)
471 BC_FIELD(VTX_WORD2, ENDIAN_SWAP, ES, 17, 16)
472 BC_FIELD(VTX_WORD2, CONST_BUF_NO_STRIDE, CBNS, 18, 18)
473 BC_RSRVD(VTX_WORD2, 19, 19)
474 BC_FIELD(VTX_WORD2, ALT_CONST, ALT_C, 20, 20)
475 BC_FIELD(VTX_WORD2, BUFFER_INDEX_MODE, BIM, 22, 21)
476 BC_RSRVD(VTX_WORD2, 31, 23)
477 BC_FORMAT_END(VTX_WORD2)
478
479 // TEX
480
481 BC_FORMAT_BEGIN_HW(TEX_WORD0, R6)
482 BC_FIELD(TEX_WORD0, TEX_INST, T_INST, 4, 0)
483 BC_FIELD(TEX_WORD0, BC_FRAC_MODE, BFM, 5, 5)
484 BC_RSRVD(TEX_WORD0, 6, 6)
485 BC_FIELD(TEX_WORD0, FETCH_WHOLE_QUAD, FWQ, 7, 7)
486 BC_FIELD(TEX_WORD0, RESOURCE_ID, RSRC_ID, 15, 8)
487 BC_FIELD(TEX_WORD0, SRC_GPR, S_GPR, 22, 16)
488 BC_FIELD(TEX_WORD0, SRC_REL, SR, 23, 23)
489 BC_RSRVD(TEX_WORD0, 31, 24)
490 BC_FORMAT_END(TEX_WORD0)
491
492 BC_FORMAT_BEGIN_HW(TEX_WORD0, R7)
493 BC_FIELD(TEX_WORD0, TEX_INST, T_INST, 4, 0)
494 BC_FIELD(TEX_WORD0, BC_FRAC_MODE, BFM, 5, 5)
495 BC_RSRVD(TEX_WORD0, 6, 6)
496 BC_FIELD(TEX_WORD0, FETCH_WHOLE_QUAD, FWQ, 7, 7)
497 BC_FIELD(TEX_WORD0, RESOURCE_ID, RSRC_ID, 15, 8)
498 BC_FIELD(TEX_WORD0, SRC_GPR, S_GPR, 22, 16)
499 BC_FIELD(TEX_WORD0, SRC_REL, SR, 23, 23)
500 BC_FIELD(TEX_WORD0, ALT_CONST, ALT_C, 24, 24)
501 BC_RSRVD(TEX_WORD0, 31, 25)
502 BC_FORMAT_END(TEX_WORD0)
503
504 BC_FORMAT_BEGIN_HW(TEX_WORD0, EGCM)
505 BC_FIELD(TEX_WORD0, TEX_INST, T_INST, 4, 0)
506 BC_FIELD(TEX_WORD0, INST_MOD, IMOD, 6, 5)
507 BC_FIELD(TEX_WORD0, FETCH_WHOLE_QUAD, FWQ, 7, 7)
508 BC_FIELD(TEX_WORD0, RESOURCE_ID, RSRC_ID, 15, 8)
509 BC_FIELD(TEX_WORD0, SRC_GPR, S_GPR, 22, 16)
510 BC_FIELD(TEX_WORD0, SRC_REL, SR, 23, 23)
511 BC_FIELD(TEX_WORD0, ALT_CONST, ALT_C, 24, 24)
512 BC_FIELD(TEX_WORD0, RESOURCE_INDEX_MODE, RIM, 26, 25)
513 BC_FIELD(TEX_WORD0, SAMPLER_INDEX_MODE, SIM, 28, 27)
514 BC_RSRVD(TEX_WORD0, 31, 29)
515 BC_FORMAT_END(TEX_WORD0)
516
517
518 BC_FORMAT_BEGIN(TEX_WORD1)
519 BC_FIELD(TEX_WORD1, DST_GPR, D_GPR, 6, 0)
520 BC_FIELD(TEX_WORD1, DST_REL, DR, 7, 7)
521 BC_RSRVD(TEX_WORD1, 8, 8)
522 BC_FIELD(TEX_WORD1, DST_SEL_X, DSX, 11, 9)
523 BC_FIELD(TEX_WORD1, DST_SEL_Y, DSY, 14, 12)
524 BC_FIELD(TEX_WORD1, DST_SEL_Z, DSZ, 17, 15)
525 BC_FIELD(TEX_WORD1, DST_SEL_W, DSW, 20, 18)
526 BC_FIELD(TEX_WORD1, LOD_BIAS, LBIAS, 27, 21)
527 BC_FIELD(TEX_WORD1, COORD_TYPE_X, CTX, 28, 28)
528 BC_FIELD(TEX_WORD1, COORD_TYPE_Y, CTY, 29, 29)
529 BC_FIELD(TEX_WORD1, COORD_TYPE_Z, CTZ, 30, 30)
530 BC_FIELD(TEX_WORD1, COORD_TYPE_W, CTW, 31, 31)
531 BC_FORMAT_END(TEX_WORD1)
532
533
534 BC_FORMAT_BEGIN(TEX_WORD2)
535 BC_FIELD(TEX_WORD2, OFFSET_X, OFS_X, 4, 0)
536 BC_FIELD(TEX_WORD2, OFFSET_Y, OFS_Y, 9, 5)
537 BC_FIELD(TEX_WORD2, OFFSET_Z, OFS_Z, 14, 10)
538 BC_FIELD(TEX_WORD2, SAMPLER_ID, SAMP_ID, 19, 15)
539 BC_FIELD(TEX_WORD2, SRC_SEL_X, SSX, 22, 20)
540 BC_FIELD(TEX_WORD2, SRC_SEL_Y, SSY, 25, 23)
541 BC_FIELD(TEX_WORD2, SRC_SEL_Z, SSZ, 28, 26)
542 BC_FIELD(TEX_WORD2, SRC_SEL_W, SSW, 31, 29)
543 BC_FORMAT_END(TEX_WORD2)
544
545 BC_FORMAT_BEGIN_HW(MEM_GDS_WORD0, EGCM)
546 BC_FIELD(MEM_GDS_WORD0, MEM_INST, M_INST, 4, 0)
547 BC_FIELD(MEM_GDS_WORD0, MEM_OP, M_OP, 10, 8)
548 BC_FIELD(MEM_GDS_WORD0, SRC_GPR, S_GPR, 17, 11)
549 BC_FIELD(MEM_GDS_WORD0, SRC_REL_MODE, SRM, 19, 18)
550 BC_FIELD(MEM_GDS_WORD0, SRC_SEL_X, SSX, 22, 20)
551 BC_FIELD(MEM_GDS_WORD0, SRC_SEL_Y, SSY, 25, 23)
552 BC_FIELD(MEM_GDS_WORD0, SRC_SEL_Z, SSZ, 28, 26)
553 BC_FORMAT_END(MEM_GDS_WORD0)
554
555 BC_FORMAT_BEGIN_HW(MEM_GDS_WORD1, EGCM)
556 BC_FIELD(MEM_GDS_WORD1, DST_GPR, D_GPR, 6, 0)
557 BC_FIELD(MEM_GDS_WORD1, DST_REL_MODE, DRM, 8, 7)
558 BC_FIELD(MEM_GDS_WORD1, GDS_OP, G_OP, 14, 9)
559 BC_FIELD(MEM_GDS_WORD1, SRC_GPR, S_GPR, 22, 16)
560 BC_FIELD(MEM_GDS_WORD1, UAV_INDEX_MODE, U_IM, 25, 24)
561 BC_FIELD(MEM_GDS_WORD1, UAV_ID, U_ID, 29, 26)
562 BC_FIELD(MEM_GDS_WORD1, ALLOC_CONSUME, AC, 30, 30)
563 BC_FIELD(MEM_GDS_WORD1, BCARD_FIRST_REQ, BFR, 31, 31)
564 BC_FORMAT_END(MEM_GDS_WORD1)
565
566 BC_FORMAT_BEGIN_HW(MEM_GDS_WORD2, EGCM)
567 BC_FIELD(MEM_GDS_WORD2, DST_SEL_X, DSX, 2, 0)
568 BC_FIELD(MEM_GDS_WORD2, DST_SEL_Y, DSY, 5, 3)
569 BC_FIELD(MEM_GDS_WORD2, DST_SEL_Z, DSZ, 8, 6)
570 BC_FIELD(MEM_GDS_WORD2, DST_SEL_W, DSW, 11, 9)
571 BC_FORMAT_END(MEM_GDS_WORD2)