4 /* Autogenerated file, DO NOT EDIT manually!
6 This file was generated by the rules-ng-ng headergen tool in this git repository:
7 http://github.com/freedreno/envytools/
8 git clone https://github.com/freedreno/envytools.git
10 The rules-ng-ng source files this header was generated from are:
11 - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 431 bytes, from 2016-04-26 17:56:44)
12 - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1572 bytes, from 2016-02-10 17:07:21)
13 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml ( 32907 bytes, from 2016-11-26 23:01:08)
14 - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml ( 12025 bytes, from 2016-11-26 23:01:08)
15 - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml ( 22544 bytes, from 2016-12-05 13:03:25)
16 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml ( 83840 bytes, from 2016-11-26 23:01:08)
17 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml ( 110765 bytes, from 2016-11-26 23:01:48)
18 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a5xx.xml ( 92389 bytes, from 2016-12-06 22:06:14)
19 - /home/robclark/src/freedreno/envytools/rnndb/adreno/ocmem.xml ( 1773 bytes, from 2015-09-24 17:30:00)
21 Copyright (C) 2013-2016 by the following authors:
22 - Rob Clark <robdclark@gmail.com> (robclark)
23 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
25 Permission is hereby granted, free of charge, to any person obtaining
26 a copy of this software and associated documentation files (the
27 "Software"), to deal in the Software without restriction, including
28 without limitation the rights to use, copy, modify, merge, publish,
29 distribute, sublicense, and/or sell copies of the Software, and to
30 permit persons to whom the Software is furnished to do so, subject to
31 the following conditions:
33 The above copyright notice and this permission notice (including the
34 next paragraph) shall be included in all copies or substantial
35 portions of the Software.
37 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
39 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
40 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
41 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
42 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
43 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
63 CACHE_FLUSH_AND_INV_TS_EVENT
= 20,
65 CACHE_FLUSH_AND_INV_EVENT
= 22,
66 PERFCOUNTER_START
= 23,
67 PERFCOUNTER_STOP
= 24,
78 DI_PT_POINTLIST_PSIZE
= 1,
88 DI_PT_LINESTRIP_ADJ
= 11,
90 DI_PT_TRISTRIP_ADJ
= 13,
95 DI_SRC_SEL_IMMEDIATE
= 1,
96 DI_SRC_SEL_AUTO_INDEX
= 2,
97 DI_SRC_SEL_RESERVED
= 3,
100 enum pc_di_index_size
{
102 INDEX_SIZE_16_BIT
= 0,
103 INDEX_SIZE_32_BIT
= 1,
104 INDEX_SIZE_8_BIT
= 2,
105 INDEX_SIZE_INVALID
= 0,
108 enum pc_di_vis_cull_mode
{
109 IGNORE_VISIBILITY
= 0,
113 enum adreno_pm4_packet_type
{
115 CP_TYPE1_PKT
= 0x40000000,
116 CP_TYPE2_PKT
= 0x80000000,
117 CP_TYPE3_PKT
= 0xc0000000,
118 CP_TYPE4_PKT
= 0x40000000,
119 CP_TYPE7_PKT
= 0x70000000,
122 enum adreno_pm4_type3_packets
{
125 CP_PREEMPT_ENABLE
= 28,
126 CP_PREEMPT_TOKEN
= 30,
127 CP_INDIRECT_BUFFER
= 63,
128 CP_INDIRECT_BUFFER_PFD
= 55,
129 CP_WAIT_FOR_IDLE
= 38,
130 CP_WAIT_REG_MEM
= 60,
132 CP_WAIT_REG_GTE
= 83,
133 CP_WAIT_UNTIL_READ
= 92,
134 CP_WAIT_IB_PFD_COMPLETE
= 93,
136 CP_SET_BIN_DATA
= 47,
139 CP_MEM_WRITE_CNTR
= 79,
143 CP_EVENT_WRITE_SHD
= 88,
144 CP_EVENT_WRITE_CFL
= 89,
145 CP_EVENT_WRITE_ZPD
= 91,
149 CP_DRAW_INDX_BIN
= 52,
150 CP_DRAW_INDX_2_BIN
= 53,
153 CP_SET_CONSTANT
= 45,
155 CP_IM_LOAD_IMMEDIATE
= 43,
156 CP_LOAD_CONSTANT_CONTEXT
= 46,
157 CP_INVALIDATE_STATE
= 59,
158 CP_SET_SHADER_BASES
= 74,
159 CP_SET_BIN_MASK
= 80,
160 CP_SET_BIN_SELECT
= 81,
161 CP_CONTEXT_UPDATE
= 94,
164 CP_SET_DRAW_INIT_FLAGS
= 75,
165 CP_SET_PROTECTED_MODE
= 95,
166 CP_BOOTSTRAP_UCODE
= 111,
168 CP_COND_INDIRECT_BUFFER_PFE
= 58,
169 CP_COND_INDIRECT_BUFFER_PFD
= 50,
170 CP_INDIRECT_BUFFER_PFE
= 63,
172 CP_TEST_TWO_MEMS
= 113,
173 CP_REG_WR_NO_CTXT
= 120,
174 CP_RECORD_PFP_TIMESTAMP
= 17,
175 CP_SET_SECURE_MODE
= 102,
177 CP_SET_DRAW_STATE
= 67,
178 CP_DRAW_INDX_OFFSET
= 56,
179 CP_DRAW_INDIRECT
= 40,
180 CP_DRAW_INDX_INDIRECT
= 41,
185 CP_WIDE_REG_WRITE
= 116,
186 CP_SCRATCH_TO_REG
= 77,
187 CP_REG_TO_SCRATCH
= 74,
188 CP_WAIT_MEM_WRITES
= 18,
189 CP_COND_REG_EXEC
= 71,
192 CP_PERFCOUNTER_ACTION
= 80,
193 CP_SMMU_TABLE_UPDATE
= 83,
194 CP_CONTEXT_REG_BUNCH
= 92,
195 CP_YIELD_ENABLE
= 28,
196 CP_SKIP_IB2_ENABLE_GLOBAL
= 29,
197 CP_SKIP_IB2_ENABLE_LOCAL
= 35,
198 CP_SET_SUBDRAW_SIZE
= 53,
199 CP_SET_VISIBILITY_OVERRIDE
= 100,
200 CP_PREEMPT_ENABLE_GLOBAL
= 105,
201 CP_PREEMPT_ENABLE_LOCAL
= 106,
202 CP_CONTEXT_SWITCH_YIELD
= 107,
203 CP_SET_RENDER_MODE
= 108,
204 CP_COMPUTE_CHECKPOINT
= 110,
207 IN_IB_PREFETCH_END
= 23,
208 IN_SUBBLK_PREFETCH
= 31,
209 IN_INSTR_PREFETCH
= 32,
211 IN_CONST_PREFETCH
= 73,
212 IN_INCR_UPDT_STATE
= 85,
213 IN_INCR_UPDT_CONST
= 86,
214 IN_INCR_UPDT_INSTR
= 87,
217 enum adreno_state_block
{
225 SB_COMPUTE_SHADER
= 7,
228 enum adreno_state_type
{
233 enum adreno_state_src
{
235 SS_INVALID_ALL_IC
= 2,
236 SS_INVALID_PART_IC
= 3,
242 enum a4xx_index_size
{
243 INDEX4_SIZE_8_BIT
= 0,
244 INDEX4_SIZE_16_BIT
= 1,
245 INDEX4_SIZE_32_BIT
= 2,
248 enum render_mode_cmd
{
259 #define REG_CP_LOAD_STATE_0 0x00000000
260 #define CP_LOAD_STATE_0_DST_OFF__MASK 0x0000ffff
261 #define CP_LOAD_STATE_0_DST_OFF__SHIFT 0
262 static inline uint32_t CP_LOAD_STATE_0_DST_OFF(uint32_t val
)
264 return ((val
) << CP_LOAD_STATE_0_DST_OFF__SHIFT
) & CP_LOAD_STATE_0_DST_OFF__MASK
;
266 #define CP_LOAD_STATE_0_STATE_SRC__MASK 0x00070000
267 #define CP_LOAD_STATE_0_STATE_SRC__SHIFT 16
268 static inline uint32_t CP_LOAD_STATE_0_STATE_SRC(enum adreno_state_src val
)
270 return ((val
) << CP_LOAD_STATE_0_STATE_SRC__SHIFT
) & CP_LOAD_STATE_0_STATE_SRC__MASK
;
272 #define CP_LOAD_STATE_0_STATE_BLOCK__MASK 0x00380000
273 #define CP_LOAD_STATE_0_STATE_BLOCK__SHIFT 19
274 static inline uint32_t CP_LOAD_STATE_0_STATE_BLOCK(enum adreno_state_block val
)
276 return ((val
) << CP_LOAD_STATE_0_STATE_BLOCK__SHIFT
) & CP_LOAD_STATE_0_STATE_BLOCK__MASK
;
278 #define CP_LOAD_STATE_0_NUM_UNIT__MASK 0xffc00000
279 #define CP_LOAD_STATE_0_NUM_UNIT__SHIFT 22
280 static inline uint32_t CP_LOAD_STATE_0_NUM_UNIT(uint32_t val
)
282 return ((val
) << CP_LOAD_STATE_0_NUM_UNIT__SHIFT
) & CP_LOAD_STATE_0_NUM_UNIT__MASK
;
285 #define REG_CP_LOAD_STATE_1 0x00000001
286 #define CP_LOAD_STATE_1_STATE_TYPE__MASK 0x00000003
287 #define CP_LOAD_STATE_1_STATE_TYPE__SHIFT 0
288 static inline uint32_t CP_LOAD_STATE_1_STATE_TYPE(enum adreno_state_type val
)
290 return ((val
) << CP_LOAD_STATE_1_STATE_TYPE__SHIFT
) & CP_LOAD_STATE_1_STATE_TYPE__MASK
;
292 #define CP_LOAD_STATE_1_EXT_SRC_ADDR__MASK 0xfffffffc
293 #define CP_LOAD_STATE_1_EXT_SRC_ADDR__SHIFT 2
294 static inline uint32_t CP_LOAD_STATE_1_EXT_SRC_ADDR(uint32_t val
)
296 assert(!(val
& 0x3));
297 return ((val
>> 2) << CP_LOAD_STATE_1_EXT_SRC_ADDR__SHIFT
) & CP_LOAD_STATE_1_EXT_SRC_ADDR__MASK
;
300 #define REG_CP_LOAD_STATE_2 0x00000002
301 #define CP_LOAD_STATE_2_EXT_SRC_ADDR_HI__MASK 0xffffffff
302 #define CP_LOAD_STATE_2_EXT_SRC_ADDR_HI__SHIFT 0
303 static inline uint32_t CP_LOAD_STATE_2_EXT_SRC_ADDR_HI(uint32_t val
)
305 return ((val
) << CP_LOAD_STATE_2_EXT_SRC_ADDR_HI__SHIFT
) & CP_LOAD_STATE_2_EXT_SRC_ADDR_HI__MASK
;
308 #define REG_CP_DRAW_INDX_0 0x00000000
309 #define CP_DRAW_INDX_0_VIZ_QUERY__MASK 0xffffffff
310 #define CP_DRAW_INDX_0_VIZ_QUERY__SHIFT 0
311 static inline uint32_t CP_DRAW_INDX_0_VIZ_QUERY(uint32_t val
)
313 return ((val
) << CP_DRAW_INDX_0_VIZ_QUERY__SHIFT
) & CP_DRAW_INDX_0_VIZ_QUERY__MASK
;
316 #define REG_CP_DRAW_INDX_1 0x00000001
317 #define CP_DRAW_INDX_1_PRIM_TYPE__MASK 0x0000003f
318 #define CP_DRAW_INDX_1_PRIM_TYPE__SHIFT 0
319 static inline uint32_t CP_DRAW_INDX_1_PRIM_TYPE(enum pc_di_primtype val
)
321 return ((val
) << CP_DRAW_INDX_1_PRIM_TYPE__SHIFT
) & CP_DRAW_INDX_1_PRIM_TYPE__MASK
;
323 #define CP_DRAW_INDX_1_SOURCE_SELECT__MASK 0x000000c0
324 #define CP_DRAW_INDX_1_SOURCE_SELECT__SHIFT 6
325 static inline uint32_t CP_DRAW_INDX_1_SOURCE_SELECT(enum pc_di_src_sel val
)
327 return ((val
) << CP_DRAW_INDX_1_SOURCE_SELECT__SHIFT
) & CP_DRAW_INDX_1_SOURCE_SELECT__MASK
;
329 #define CP_DRAW_INDX_1_VIS_CULL__MASK 0x00000600
330 #define CP_DRAW_INDX_1_VIS_CULL__SHIFT 9
331 static inline uint32_t CP_DRAW_INDX_1_VIS_CULL(enum pc_di_vis_cull_mode val
)
333 return ((val
) << CP_DRAW_INDX_1_VIS_CULL__SHIFT
) & CP_DRAW_INDX_1_VIS_CULL__MASK
;
335 #define CP_DRAW_INDX_1_INDEX_SIZE__MASK 0x00000800
336 #define CP_DRAW_INDX_1_INDEX_SIZE__SHIFT 11
337 static inline uint32_t CP_DRAW_INDX_1_INDEX_SIZE(enum pc_di_index_size val
)
339 return ((val
) << CP_DRAW_INDX_1_INDEX_SIZE__SHIFT
) & CP_DRAW_INDX_1_INDEX_SIZE__MASK
;
341 #define CP_DRAW_INDX_1_NOT_EOP 0x00001000
342 #define CP_DRAW_INDX_1_SMALL_INDEX 0x00002000
343 #define CP_DRAW_INDX_1_PRE_DRAW_INITIATOR_ENABLE 0x00004000
344 #define CP_DRAW_INDX_1_NUM_INSTANCES__MASK 0xff000000
345 #define CP_DRAW_INDX_1_NUM_INSTANCES__SHIFT 24
346 static inline uint32_t CP_DRAW_INDX_1_NUM_INSTANCES(uint32_t val
)
348 return ((val
) << CP_DRAW_INDX_1_NUM_INSTANCES__SHIFT
) & CP_DRAW_INDX_1_NUM_INSTANCES__MASK
;
351 #define REG_CP_DRAW_INDX_2 0x00000002
352 #define CP_DRAW_INDX_2_NUM_INDICES__MASK 0xffffffff
353 #define CP_DRAW_INDX_2_NUM_INDICES__SHIFT 0
354 static inline uint32_t CP_DRAW_INDX_2_NUM_INDICES(uint32_t val
)
356 return ((val
) << CP_DRAW_INDX_2_NUM_INDICES__SHIFT
) & CP_DRAW_INDX_2_NUM_INDICES__MASK
;
359 #define REG_CP_DRAW_INDX_3 0x00000003
360 #define CP_DRAW_INDX_3_INDX_BASE__MASK 0xffffffff
361 #define CP_DRAW_INDX_3_INDX_BASE__SHIFT 0
362 static inline uint32_t CP_DRAW_INDX_3_INDX_BASE(uint32_t val
)
364 return ((val
) << CP_DRAW_INDX_3_INDX_BASE__SHIFT
) & CP_DRAW_INDX_3_INDX_BASE__MASK
;
367 #define REG_CP_DRAW_INDX_4 0x00000004
368 #define CP_DRAW_INDX_4_INDX_SIZE__MASK 0xffffffff
369 #define CP_DRAW_INDX_4_INDX_SIZE__SHIFT 0
370 static inline uint32_t CP_DRAW_INDX_4_INDX_SIZE(uint32_t val
)
372 return ((val
) << CP_DRAW_INDX_4_INDX_SIZE__SHIFT
) & CP_DRAW_INDX_4_INDX_SIZE__MASK
;
375 #define REG_CP_DRAW_INDX_2_0 0x00000000
376 #define CP_DRAW_INDX_2_0_VIZ_QUERY__MASK 0xffffffff
377 #define CP_DRAW_INDX_2_0_VIZ_QUERY__SHIFT 0
378 static inline uint32_t CP_DRAW_INDX_2_0_VIZ_QUERY(uint32_t val
)
380 return ((val
) << CP_DRAW_INDX_2_0_VIZ_QUERY__SHIFT
) & CP_DRAW_INDX_2_0_VIZ_QUERY__MASK
;
383 #define REG_CP_DRAW_INDX_2_1 0x00000001
384 #define CP_DRAW_INDX_2_1_PRIM_TYPE__MASK 0x0000003f
385 #define CP_DRAW_INDX_2_1_PRIM_TYPE__SHIFT 0
386 static inline uint32_t CP_DRAW_INDX_2_1_PRIM_TYPE(enum pc_di_primtype val
)
388 return ((val
) << CP_DRAW_INDX_2_1_PRIM_TYPE__SHIFT
) & CP_DRAW_INDX_2_1_PRIM_TYPE__MASK
;
390 #define CP_DRAW_INDX_2_1_SOURCE_SELECT__MASK 0x000000c0
391 #define CP_DRAW_INDX_2_1_SOURCE_SELECT__SHIFT 6
392 static inline uint32_t CP_DRAW_INDX_2_1_SOURCE_SELECT(enum pc_di_src_sel val
)
394 return ((val
) << CP_DRAW_INDX_2_1_SOURCE_SELECT__SHIFT
) & CP_DRAW_INDX_2_1_SOURCE_SELECT__MASK
;
396 #define CP_DRAW_INDX_2_1_VIS_CULL__MASK 0x00000600
397 #define CP_DRAW_INDX_2_1_VIS_CULL__SHIFT 9
398 static inline uint32_t CP_DRAW_INDX_2_1_VIS_CULL(enum pc_di_vis_cull_mode val
)
400 return ((val
) << CP_DRAW_INDX_2_1_VIS_CULL__SHIFT
) & CP_DRAW_INDX_2_1_VIS_CULL__MASK
;
402 #define CP_DRAW_INDX_2_1_INDEX_SIZE__MASK 0x00000800
403 #define CP_DRAW_INDX_2_1_INDEX_SIZE__SHIFT 11
404 static inline uint32_t CP_DRAW_INDX_2_1_INDEX_SIZE(enum pc_di_index_size val
)
406 return ((val
) << CP_DRAW_INDX_2_1_INDEX_SIZE__SHIFT
) & CP_DRAW_INDX_2_1_INDEX_SIZE__MASK
;
408 #define CP_DRAW_INDX_2_1_NOT_EOP 0x00001000
409 #define CP_DRAW_INDX_2_1_SMALL_INDEX 0x00002000
410 #define CP_DRAW_INDX_2_1_PRE_DRAW_INITIATOR_ENABLE 0x00004000
411 #define CP_DRAW_INDX_2_1_NUM_INSTANCES__MASK 0xff000000
412 #define CP_DRAW_INDX_2_1_NUM_INSTANCES__SHIFT 24
413 static inline uint32_t CP_DRAW_INDX_2_1_NUM_INSTANCES(uint32_t val
)
415 return ((val
) << CP_DRAW_INDX_2_1_NUM_INSTANCES__SHIFT
) & CP_DRAW_INDX_2_1_NUM_INSTANCES__MASK
;
418 #define REG_CP_DRAW_INDX_2_2 0x00000002
419 #define CP_DRAW_INDX_2_2_NUM_INDICES__MASK 0xffffffff
420 #define CP_DRAW_INDX_2_2_NUM_INDICES__SHIFT 0
421 static inline uint32_t CP_DRAW_INDX_2_2_NUM_INDICES(uint32_t val
)
423 return ((val
) << CP_DRAW_INDX_2_2_NUM_INDICES__SHIFT
) & CP_DRAW_INDX_2_2_NUM_INDICES__MASK
;
426 #define REG_CP_DRAW_INDX_OFFSET_0 0x00000000
427 #define CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__MASK 0x0000003f
428 #define CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__SHIFT 0
429 static inline uint32_t CP_DRAW_INDX_OFFSET_0_PRIM_TYPE(enum pc_di_primtype val
)
431 return ((val
) << CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__SHIFT
) & CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__MASK
;
433 #define CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__MASK 0x000000c0
434 #define CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__SHIFT 6
435 static inline uint32_t CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT(enum pc_di_src_sel val
)
437 return ((val
) << CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__SHIFT
) & CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__MASK
;
439 #define CP_DRAW_INDX_OFFSET_0_VIS_CULL__MASK 0x00000300
440 #define CP_DRAW_INDX_OFFSET_0_VIS_CULL__SHIFT 8
441 static inline uint32_t CP_DRAW_INDX_OFFSET_0_VIS_CULL(enum pc_di_vis_cull_mode val
)
443 return ((val
) << CP_DRAW_INDX_OFFSET_0_VIS_CULL__SHIFT
) & CP_DRAW_INDX_OFFSET_0_VIS_CULL__MASK
;
445 #define CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__MASK 0x00000c00
446 #define CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__SHIFT 10
447 static inline uint32_t CP_DRAW_INDX_OFFSET_0_INDEX_SIZE(enum a4xx_index_size val
)
449 return ((val
) << CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__SHIFT
) & CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__MASK
;
451 #define CP_DRAW_INDX_OFFSET_0_TESS_MODE__MASK 0x01f00000
452 #define CP_DRAW_INDX_OFFSET_0_TESS_MODE__SHIFT 20
453 static inline uint32_t CP_DRAW_INDX_OFFSET_0_TESS_MODE(uint32_t val
)
455 return ((val
) << CP_DRAW_INDX_OFFSET_0_TESS_MODE__SHIFT
) & CP_DRAW_INDX_OFFSET_0_TESS_MODE__MASK
;
458 #define REG_CP_DRAW_INDX_OFFSET_1 0x00000001
459 #define CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__MASK 0xffffffff
460 #define CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__SHIFT 0
461 static inline uint32_t CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES(uint32_t val
)
463 return ((val
) << CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__SHIFT
) & CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__MASK
;
466 #define REG_CP_DRAW_INDX_OFFSET_2 0x00000002
467 #define CP_DRAW_INDX_OFFSET_2_NUM_INDICES__MASK 0xffffffff
468 #define CP_DRAW_INDX_OFFSET_2_NUM_INDICES__SHIFT 0
469 static inline uint32_t CP_DRAW_INDX_OFFSET_2_NUM_INDICES(uint32_t val
)
471 return ((val
) << CP_DRAW_INDX_OFFSET_2_NUM_INDICES__SHIFT
) & CP_DRAW_INDX_OFFSET_2_NUM_INDICES__MASK
;
474 #define REG_CP_DRAW_INDX_OFFSET_3 0x00000003
476 #define REG_CP_DRAW_INDX_OFFSET_4 0x00000004
477 #define CP_DRAW_INDX_OFFSET_4_INDX_BASE__MASK 0xffffffff
478 #define CP_DRAW_INDX_OFFSET_4_INDX_BASE__SHIFT 0
479 static inline uint32_t CP_DRAW_INDX_OFFSET_4_INDX_BASE(uint32_t val
)
481 return ((val
) << CP_DRAW_INDX_OFFSET_4_INDX_BASE__SHIFT
) & CP_DRAW_INDX_OFFSET_4_INDX_BASE__MASK
;
484 #define REG_CP_DRAW_INDX_OFFSET_5 0x00000005
485 #define CP_DRAW_INDX_OFFSET_5_INDX_SIZE__MASK 0xffffffff
486 #define CP_DRAW_INDX_OFFSET_5_INDX_SIZE__SHIFT 0
487 static inline uint32_t CP_DRAW_INDX_OFFSET_5_INDX_SIZE(uint32_t val
)
489 return ((val
) << CP_DRAW_INDX_OFFSET_5_INDX_SIZE__SHIFT
) & CP_DRAW_INDX_OFFSET_5_INDX_SIZE__MASK
;
492 static inline uint32_t REG_CP_SET_DRAW_STATE_(uint32_t i0
) { return 0x00000000 + 0x3*i0
; }
494 static inline uint32_t REG_CP_SET_DRAW_STATE__0(uint32_t i0
) { return 0x00000000 + 0x3*i0
; }
495 #define CP_SET_DRAW_STATE__0_COUNT__MASK 0x0000ffff
496 #define CP_SET_DRAW_STATE__0_COUNT__SHIFT 0
497 static inline uint32_t CP_SET_DRAW_STATE__0_COUNT(uint32_t val
)
499 return ((val
) << CP_SET_DRAW_STATE__0_COUNT__SHIFT
) & CP_SET_DRAW_STATE__0_COUNT__MASK
;
501 #define CP_SET_DRAW_STATE__0_DIRTY 0x00010000
502 #define CP_SET_DRAW_STATE__0_DISABLE 0x00020000
503 #define CP_SET_DRAW_STATE__0_DISABLE_ALL_GROUPS 0x00040000
504 #define CP_SET_DRAW_STATE__0_LOAD_IMMED 0x00080000
505 #define CP_SET_DRAW_STATE__0_GROUP_ID__MASK 0x1f000000
506 #define CP_SET_DRAW_STATE__0_GROUP_ID__SHIFT 24
507 static inline uint32_t CP_SET_DRAW_STATE__0_GROUP_ID(uint32_t val
)
509 return ((val
) << CP_SET_DRAW_STATE__0_GROUP_ID__SHIFT
) & CP_SET_DRAW_STATE__0_GROUP_ID__MASK
;
512 static inline uint32_t REG_CP_SET_DRAW_STATE__1(uint32_t i0
) { return 0x00000001 + 0x3*i0
; }
513 #define CP_SET_DRAW_STATE__1_ADDR_LO__MASK 0xffffffff
514 #define CP_SET_DRAW_STATE__1_ADDR_LO__SHIFT 0
515 static inline uint32_t CP_SET_DRAW_STATE__1_ADDR_LO(uint32_t val
)
517 return ((val
) << CP_SET_DRAW_STATE__1_ADDR_LO__SHIFT
) & CP_SET_DRAW_STATE__1_ADDR_LO__MASK
;
520 static inline uint32_t REG_CP_SET_DRAW_STATE__2(uint32_t i0
) { return 0x00000002 + 0x3*i0
; }
521 #define CP_SET_DRAW_STATE__2_ADDR_HI__MASK 0xffffffff
522 #define CP_SET_DRAW_STATE__2_ADDR_HI__SHIFT 0
523 static inline uint32_t CP_SET_DRAW_STATE__2_ADDR_HI(uint32_t val
)
525 return ((val
) << CP_SET_DRAW_STATE__2_ADDR_HI__SHIFT
) & CP_SET_DRAW_STATE__2_ADDR_HI__MASK
;
528 #define REG_CP_SET_BIN_0 0x00000000
530 #define REG_CP_SET_BIN_1 0x00000001
531 #define CP_SET_BIN_1_X1__MASK 0x0000ffff
532 #define CP_SET_BIN_1_X1__SHIFT 0
533 static inline uint32_t CP_SET_BIN_1_X1(uint32_t val
)
535 return ((val
) << CP_SET_BIN_1_X1__SHIFT
) & CP_SET_BIN_1_X1__MASK
;
537 #define CP_SET_BIN_1_Y1__MASK 0xffff0000
538 #define CP_SET_BIN_1_Y1__SHIFT 16
539 static inline uint32_t CP_SET_BIN_1_Y1(uint32_t val
)
541 return ((val
) << CP_SET_BIN_1_Y1__SHIFT
) & CP_SET_BIN_1_Y1__MASK
;
544 #define REG_CP_SET_BIN_2 0x00000002
545 #define CP_SET_BIN_2_X2__MASK 0x0000ffff
546 #define CP_SET_BIN_2_X2__SHIFT 0
547 static inline uint32_t CP_SET_BIN_2_X2(uint32_t val
)
549 return ((val
) << CP_SET_BIN_2_X2__SHIFT
) & CP_SET_BIN_2_X2__MASK
;
551 #define CP_SET_BIN_2_Y2__MASK 0xffff0000
552 #define CP_SET_BIN_2_Y2__SHIFT 16
553 static inline uint32_t CP_SET_BIN_2_Y2(uint32_t val
)
555 return ((val
) << CP_SET_BIN_2_Y2__SHIFT
) & CP_SET_BIN_2_Y2__MASK
;
558 #define REG_CP_SET_BIN_DATA_0 0x00000000
559 #define CP_SET_BIN_DATA_0_BIN_DATA_ADDR__MASK 0xffffffff
560 #define CP_SET_BIN_DATA_0_BIN_DATA_ADDR__SHIFT 0
561 static inline uint32_t CP_SET_BIN_DATA_0_BIN_DATA_ADDR(uint32_t val
)
563 return ((val
) << CP_SET_BIN_DATA_0_BIN_DATA_ADDR__SHIFT
) & CP_SET_BIN_DATA_0_BIN_DATA_ADDR__MASK
;
566 #define REG_CP_SET_BIN_DATA_1 0x00000001
567 #define CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__MASK 0xffffffff
568 #define CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__SHIFT 0
569 static inline uint32_t CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS(uint32_t val
)
571 return ((val
) << CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__SHIFT
) & CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__MASK
;
574 #define REG_CP_REG_TO_MEM_0 0x00000000
575 #define CP_REG_TO_MEM_0_REG__MASK 0x0000ffff
576 #define CP_REG_TO_MEM_0_REG__SHIFT 0
577 static inline uint32_t CP_REG_TO_MEM_0_REG(uint32_t val
)
579 return ((val
) << CP_REG_TO_MEM_0_REG__SHIFT
) & CP_REG_TO_MEM_0_REG__MASK
;
581 #define CP_REG_TO_MEM_0_CNT__MASK 0x3ff80000
582 #define CP_REG_TO_MEM_0_CNT__SHIFT 19
583 static inline uint32_t CP_REG_TO_MEM_0_CNT(uint32_t val
)
585 return ((val
) << CP_REG_TO_MEM_0_CNT__SHIFT
) & CP_REG_TO_MEM_0_CNT__MASK
;
587 #define CP_REG_TO_MEM_0_64B 0x40000000
588 #define CP_REG_TO_MEM_0_ACCUMULATE 0x80000000
590 #define REG_CP_REG_TO_MEM_1 0x00000001
591 #define CP_REG_TO_MEM_1_DEST__MASK 0xffffffff
592 #define CP_REG_TO_MEM_1_DEST__SHIFT 0
593 static inline uint32_t CP_REG_TO_MEM_1_DEST(uint32_t val
)
595 return ((val
) << CP_REG_TO_MEM_1_DEST__SHIFT
) & CP_REG_TO_MEM_1_DEST__MASK
;
598 #define REG_CP_DISPATCH_COMPUTE_0 0x00000000
600 #define REG_CP_DISPATCH_COMPUTE_1 0x00000001
601 #define CP_DISPATCH_COMPUTE_1_X__MASK 0xffffffff
602 #define CP_DISPATCH_COMPUTE_1_X__SHIFT 0
603 static inline uint32_t CP_DISPATCH_COMPUTE_1_X(uint32_t val
)
605 return ((val
) << CP_DISPATCH_COMPUTE_1_X__SHIFT
) & CP_DISPATCH_COMPUTE_1_X__MASK
;
608 #define REG_CP_DISPATCH_COMPUTE_2 0x00000002
609 #define CP_DISPATCH_COMPUTE_2_Y__MASK 0xffffffff
610 #define CP_DISPATCH_COMPUTE_2_Y__SHIFT 0
611 static inline uint32_t CP_DISPATCH_COMPUTE_2_Y(uint32_t val
)
613 return ((val
) << CP_DISPATCH_COMPUTE_2_Y__SHIFT
) & CP_DISPATCH_COMPUTE_2_Y__MASK
;
616 #define REG_CP_DISPATCH_COMPUTE_3 0x00000003
617 #define CP_DISPATCH_COMPUTE_3_Z__MASK 0xffffffff
618 #define CP_DISPATCH_COMPUTE_3_Z__SHIFT 0
619 static inline uint32_t CP_DISPATCH_COMPUTE_3_Z(uint32_t val
)
621 return ((val
) << CP_DISPATCH_COMPUTE_3_Z__SHIFT
) & CP_DISPATCH_COMPUTE_3_Z__MASK
;
624 #define REG_CP_SET_RENDER_MODE_0 0x00000000
625 #define CP_SET_RENDER_MODE_0_MODE__MASK 0x000001ff
626 #define CP_SET_RENDER_MODE_0_MODE__SHIFT 0
627 static inline uint32_t CP_SET_RENDER_MODE_0_MODE(enum render_mode_cmd val
)
629 return ((val
) << CP_SET_RENDER_MODE_0_MODE__SHIFT
) & CP_SET_RENDER_MODE_0_MODE__MASK
;
632 #define REG_CP_SET_RENDER_MODE_1 0x00000001
633 #define CP_SET_RENDER_MODE_1_ADDR_0_LO__MASK 0xffffffff
634 #define CP_SET_RENDER_MODE_1_ADDR_0_LO__SHIFT 0
635 static inline uint32_t CP_SET_RENDER_MODE_1_ADDR_0_LO(uint32_t val
)
637 return ((val
) << CP_SET_RENDER_MODE_1_ADDR_0_LO__SHIFT
) & CP_SET_RENDER_MODE_1_ADDR_0_LO__MASK
;
640 #define REG_CP_SET_RENDER_MODE_2 0x00000002
641 #define CP_SET_RENDER_MODE_2_ADDR_0_HI__MASK 0xffffffff
642 #define CP_SET_RENDER_MODE_2_ADDR_0_HI__SHIFT 0
643 static inline uint32_t CP_SET_RENDER_MODE_2_ADDR_0_HI(uint32_t val
)
645 return ((val
) << CP_SET_RENDER_MODE_2_ADDR_0_HI__SHIFT
) & CP_SET_RENDER_MODE_2_ADDR_0_HI__MASK
;
648 #define REG_CP_SET_RENDER_MODE_3 0x00000003
649 #define CP_SET_RENDER_MODE_3_GMEM_ENABLE 0x00000010
651 #define REG_CP_SET_RENDER_MODE_4 0x00000004
653 #define REG_CP_SET_RENDER_MODE_5 0x00000005
654 #define CP_SET_RENDER_MODE_5_ADDR_1_LEN__MASK 0xffffffff
655 #define CP_SET_RENDER_MODE_5_ADDR_1_LEN__SHIFT 0
656 static inline uint32_t CP_SET_RENDER_MODE_5_ADDR_1_LEN(uint32_t val
)
658 return ((val
) << CP_SET_RENDER_MODE_5_ADDR_1_LEN__SHIFT
) & CP_SET_RENDER_MODE_5_ADDR_1_LEN__MASK
;
661 #define REG_CP_SET_RENDER_MODE_6 0x00000006
662 #define CP_SET_RENDER_MODE_6_ADDR_1_LO__MASK 0xffffffff
663 #define CP_SET_RENDER_MODE_6_ADDR_1_LO__SHIFT 0
664 static inline uint32_t CP_SET_RENDER_MODE_6_ADDR_1_LO(uint32_t val
)
666 return ((val
) << CP_SET_RENDER_MODE_6_ADDR_1_LO__SHIFT
) & CP_SET_RENDER_MODE_6_ADDR_1_LO__MASK
;
669 #define REG_CP_SET_RENDER_MODE_7 0x00000007
670 #define CP_SET_RENDER_MODE_7_ADDR_1_HI__MASK 0xffffffff
671 #define CP_SET_RENDER_MODE_7_ADDR_1_HI__SHIFT 0
672 static inline uint32_t CP_SET_RENDER_MODE_7_ADDR_1_HI(uint32_t val
)
674 return ((val
) << CP_SET_RENDER_MODE_7_ADDR_1_HI__SHIFT
) & CP_SET_RENDER_MODE_7_ADDR_1_HI__MASK
;
677 #define REG_CP_PERFCOUNTER_ACTION_0 0x00000000
679 #define REG_CP_PERFCOUNTER_ACTION_1 0x00000001
680 #define CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__MASK 0xffffffff
681 #define CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__SHIFT 0
682 static inline uint32_t CP_PERFCOUNTER_ACTION_1_ADDR_0_LO(uint32_t val
)
684 return ((val
) << CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__SHIFT
) & CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__MASK
;
687 #define REG_CP_PERFCOUNTER_ACTION_2 0x00000002
688 #define CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__MASK 0xffffffff
689 #define CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__SHIFT 0
690 static inline uint32_t CP_PERFCOUNTER_ACTION_2_ADDR_0_HI(uint32_t val
)
692 return ((val
) << CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__SHIFT
) & CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__MASK
;
695 #define REG_CP_EVENT_WRITE_0 0x00000000
696 #define CP_EVENT_WRITE_0_EVENT__MASK 0x000000ff
697 #define CP_EVENT_WRITE_0_EVENT__SHIFT 0
698 static inline uint32_t CP_EVENT_WRITE_0_EVENT(enum vgt_event_type val
)
700 return ((val
) << CP_EVENT_WRITE_0_EVENT__SHIFT
) & CP_EVENT_WRITE_0_EVENT__MASK
;
703 #define REG_CP_EVENT_WRITE_1 0x00000001
704 #define CP_EVENT_WRITE_1_ADDR_0_LO__MASK 0xffffffff
705 #define CP_EVENT_WRITE_1_ADDR_0_LO__SHIFT 0
706 static inline uint32_t CP_EVENT_WRITE_1_ADDR_0_LO(uint32_t val
)
708 return ((val
) << CP_EVENT_WRITE_1_ADDR_0_LO__SHIFT
) & CP_EVENT_WRITE_1_ADDR_0_LO__MASK
;
711 #define REG_CP_EVENT_WRITE_2 0x00000002
712 #define CP_EVENT_WRITE_2_ADDR_0_HI__MASK 0xffffffff
713 #define CP_EVENT_WRITE_2_ADDR_0_HI__SHIFT 0
714 static inline uint32_t CP_EVENT_WRITE_2_ADDR_0_HI(uint32_t val
)
716 return ((val
) << CP_EVENT_WRITE_2_ADDR_0_HI__SHIFT
) & CP_EVENT_WRITE_2_ADDR_0_HI__MASK
;
719 #define REG_CP_EVENT_WRITE_3 0x00000003
721 #define REG_CP_BLIT_0 0x00000000
722 #define CP_BLIT_0_OP__MASK 0x0000000f
723 #define CP_BLIT_0_OP__SHIFT 0
724 static inline uint32_t CP_BLIT_0_OP(enum cp_blit_cmd val
)
726 return ((val
) << CP_BLIT_0_OP__SHIFT
) & CP_BLIT_0_OP__MASK
;
729 #define REG_CP_BLIT_1 0x00000001
730 #define CP_BLIT_1_SRC_X1__MASK 0x0000ffff
731 #define CP_BLIT_1_SRC_X1__SHIFT 0
732 static inline uint32_t CP_BLIT_1_SRC_X1(uint32_t val
)
734 return ((val
) << CP_BLIT_1_SRC_X1__SHIFT
) & CP_BLIT_1_SRC_X1__MASK
;
736 #define CP_BLIT_1_SRC_Y1__MASK 0xffff0000
737 #define CP_BLIT_1_SRC_Y1__SHIFT 16
738 static inline uint32_t CP_BLIT_1_SRC_Y1(uint32_t val
)
740 return ((val
) << CP_BLIT_1_SRC_Y1__SHIFT
) & CP_BLIT_1_SRC_Y1__MASK
;
743 #define REG_CP_BLIT_2 0x00000002
744 #define CP_BLIT_2_SRC_X2__MASK 0x0000ffff
745 #define CP_BLIT_2_SRC_X2__SHIFT 0
746 static inline uint32_t CP_BLIT_2_SRC_X2(uint32_t val
)
748 return ((val
) << CP_BLIT_2_SRC_X2__SHIFT
) & CP_BLIT_2_SRC_X2__MASK
;
750 #define CP_BLIT_2_SRC_Y2__MASK 0xffff0000
751 #define CP_BLIT_2_SRC_Y2__SHIFT 16
752 static inline uint32_t CP_BLIT_2_SRC_Y2(uint32_t val
)
754 return ((val
) << CP_BLIT_2_SRC_Y2__SHIFT
) & CP_BLIT_2_SRC_Y2__MASK
;
757 #define REG_CP_BLIT_3 0x00000003
758 #define CP_BLIT_3_DST_X1__MASK 0x0000ffff
759 #define CP_BLIT_3_DST_X1__SHIFT 0
760 static inline uint32_t CP_BLIT_3_DST_X1(uint32_t val
)
762 return ((val
) << CP_BLIT_3_DST_X1__SHIFT
) & CP_BLIT_3_DST_X1__MASK
;
764 #define CP_BLIT_3_DST_Y1__MASK 0xffff0000
765 #define CP_BLIT_3_DST_Y1__SHIFT 16
766 static inline uint32_t CP_BLIT_3_DST_Y1(uint32_t val
)
768 return ((val
) << CP_BLIT_3_DST_Y1__SHIFT
) & CP_BLIT_3_DST_Y1__MASK
;
771 #define REG_CP_BLIT_4 0x00000004
772 #define CP_BLIT_4_DST_X2__MASK 0x0000ffff
773 #define CP_BLIT_4_DST_X2__SHIFT 0
774 static inline uint32_t CP_BLIT_4_DST_X2(uint32_t val
)
776 return ((val
) << CP_BLIT_4_DST_X2__SHIFT
) & CP_BLIT_4_DST_X2__MASK
;
778 #define CP_BLIT_4_DST_Y2__MASK 0xffff0000
779 #define CP_BLIT_4_DST_Y2__SHIFT 16
780 static inline uint32_t CP_BLIT_4_DST_Y2(uint32_t val
)
782 return ((val
) << CP_BLIT_4_DST_Y2__SHIFT
) & CP_BLIT_4_DST_Y2__MASK
;
786 #endif /* ADRENO_PM4_XML */