101e04c3fSmrg#ifndef CMDSTREAM_XML
201e04c3fSmrg#define CMDSTREAM_XML
301e04c3fSmrg
401e04c3fSmrg/* Autogenerated file, DO NOT EDIT manually!
501e04c3fSmrg
601e04c3fSmrgThis file was generated by the rules-ng-ng headergen tool in this git repository:
701e04c3fSmrghttp://0x04.net/cgit/index.cgi/rules-ng-ng
801e04c3fSmrggit clone git://0x04.net/rules-ng-ng
901e04c3fSmrg
1001e04c3fSmrgThe rules-ng-ng source files this header was generated from are:
119f464c52Smaya- cmdstream.xml (  16930 bytes, from 2019-01-04 11:37:39)
129f464c52Smaya- copyright.xml (   1597 bytes, from 2018-02-10 13:09:26)
137ec681f3Smrg- common.xml    (  35468 bytes, from 2020-01-04 20:02:31)
1401e04c3fSmrg
159f464c52SmayaCopyright (C) 2012-2019 by the following authors:
1601e04c3fSmrg- Wladimir J. van der Laan <laanwj@gmail.com>
1701e04c3fSmrg- Christian Gmeiner <christian.gmeiner@gmail.com>
1801e04c3fSmrg- Lucas Stach <l.stach@pengutronix.de>
1901e04c3fSmrg- Russell King <rmk@arm.linux.org.uk>
2001e04c3fSmrg
2101e04c3fSmrgPermission is hereby granted, free of charge, to any person obtaining a
2201e04c3fSmrgcopy of this software and associated documentation files (the "Software"),
2301e04c3fSmrgto deal in the Software without restriction, including without limitation
2401e04c3fSmrgthe rights to use, copy, modify, merge, publish, distribute, sub license,
2501e04c3fSmrgand/or sell copies of the Software, and to permit persons to whom the
2601e04c3fSmrgSoftware is furnished to do so, subject to the following conditions:
2701e04c3fSmrg
2801e04c3fSmrgThe above copyright notice and this permission notice (including the
2901e04c3fSmrgnext paragraph) shall be included in all copies or substantial portions
3001e04c3fSmrgof the Software.
3101e04c3fSmrg
3201e04c3fSmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3301e04c3fSmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3401e04c3fSmrgFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
3501e04c3fSmrgTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3601e04c3fSmrgLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3701e04c3fSmrgFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
3801e04c3fSmrgDEALINGS IN THE SOFTWARE.
3901e04c3fSmrg*/
4001e04c3fSmrg
4101e04c3fSmrg
4201e04c3fSmrg#define FE_OPCODE_LOAD_STATE					0x00000001
4301e04c3fSmrg#define FE_OPCODE_END						0x00000002
4401e04c3fSmrg#define FE_OPCODE_NOP						0x00000003
4501e04c3fSmrg#define FE_OPCODE_DRAW_2D					0x00000004
4601e04c3fSmrg#define FE_OPCODE_DRAW_PRIMITIVES				0x00000005
4701e04c3fSmrg#define FE_OPCODE_DRAW_INDEXED_PRIMITIVES			0x00000006
4801e04c3fSmrg#define FE_OPCODE_WAIT						0x00000007
4901e04c3fSmrg#define FE_OPCODE_LINK						0x00000008
5001e04c3fSmrg#define FE_OPCODE_STALL						0x00000009
5101e04c3fSmrg#define FE_OPCODE_CALL						0x0000000a
5201e04c3fSmrg#define FE_OPCODE_RETURN					0x0000000b
5301e04c3fSmrg#define FE_OPCODE_DRAW_INSTANCED				0x0000000c
5401e04c3fSmrg#define FE_OPCODE_CHIP_SELECT					0x0000000d
5501e04c3fSmrg#define FE_OPCODE_WAIT_FENCE					0x0000000f
5601e04c3fSmrg#define FE_OPCODE_DRAW_INDIRECT					0x00000010
5701e04c3fSmrg#define FE_OPCODE_SNAP_PAGES					0x00000013
5801e04c3fSmrg#define PRIMITIVE_TYPE_POINTS					0x00000001
5901e04c3fSmrg#define PRIMITIVE_TYPE_LINES					0x00000002
6001e04c3fSmrg#define PRIMITIVE_TYPE_LINE_STRIP				0x00000003
6101e04c3fSmrg#define PRIMITIVE_TYPE_TRIANGLES				0x00000004
6201e04c3fSmrg#define PRIMITIVE_TYPE_TRIANGLE_STRIP				0x00000005
6301e04c3fSmrg#define PRIMITIVE_TYPE_TRIANGLE_FAN				0x00000006
6401e04c3fSmrg#define PRIMITIVE_TYPE_LINE_LOOP				0x00000007
6501e04c3fSmrg#define PRIMITIVE_TYPE_QUADS					0x00000008
6601e04c3fSmrg#define VIV_FE_LOAD_STATE					0x00000000
6701e04c3fSmrg
6801e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER				0x00000000
6901e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_OP__MASK			0xf8000000
7001e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_OP__SHIFT			27
7101e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE			0x08000000
7201e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_FIXP				0x04000000
7301e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_COUNT__MASK			0x03ff0000
7401e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT			16
7501e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_COUNT(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT) & VIV_FE_LOAD_STATE_HEADER_COUNT__MASK)
7601e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK			0x0000ffff
7701e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT			0
7801e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT) & VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK)
7901e04c3fSmrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR			2
8001e04c3fSmrg
8101e04c3fSmrg#define VIV_FE_END						0x00000000
8201e04c3fSmrg
8301e04c3fSmrg#define VIV_FE_END_HEADER					0x00000000
8401e04c3fSmrg#define VIV_FE_END_HEADER_EVENT_ID__MASK			0x0000001f
8501e04c3fSmrg#define VIV_FE_END_HEADER_EVENT_ID__SHIFT			0
8601e04c3fSmrg#define VIV_FE_END_HEADER_EVENT_ID(x)				(((x) << VIV_FE_END_HEADER_EVENT_ID__SHIFT) & VIV_FE_END_HEADER_EVENT_ID__MASK)
8701e04c3fSmrg#define VIV_FE_END_HEADER_EVENT_ENABLE				0x00000100
8801e04c3fSmrg#define VIV_FE_END_HEADER_OP__MASK				0xf8000000
8901e04c3fSmrg#define VIV_FE_END_HEADER_OP__SHIFT				27
9001e04c3fSmrg#define VIV_FE_END_HEADER_OP_END				0x10000000
9101e04c3fSmrg
9201e04c3fSmrg#define VIV_FE_NOP						0x00000000
9301e04c3fSmrg
9401e04c3fSmrg#define VIV_FE_NOP_HEADER					0x00000000
9501e04c3fSmrg#define VIV_FE_NOP_HEADER_OP__MASK				0xf8000000
9601e04c3fSmrg#define VIV_FE_NOP_HEADER_OP__SHIFT				27
9701e04c3fSmrg#define VIV_FE_NOP_HEADER_OP_NOP				0x18000000
9801e04c3fSmrg
9901e04c3fSmrg#define VIV_FE_DRAW_2D						0x00000000
10001e04c3fSmrg
10101e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER					0x00000000
10201e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER_COUNT__MASK			0x0000ff00
10301e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT			8
10401e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER_COUNT(x)				(((x) << VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_COUNT__MASK)
10501e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK			0x07ff0000
10601e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT			16
10701e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT(x)			(((x) << VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK)
10801e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER_OP__MASK				0xf8000000
10901e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER_OP__SHIFT				27
11001e04c3fSmrg#define VIV_FE_DRAW_2D_HEADER_OP_DRAW_2D			0x20000000
11101e04c3fSmrg
11201e04c3fSmrg#define VIV_FE_DRAW_2D_TOP_LEFT					0x00000008
11301e04c3fSmrg#define VIV_FE_DRAW_2D_TOP_LEFT_X__MASK				0x0000ffff
11401e04c3fSmrg#define VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT			0
11501e04c3fSmrg#define VIV_FE_DRAW_2D_TOP_LEFT_X(x)				(((x) << VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_X__MASK)
11601e04c3fSmrg#define VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK				0xffff0000
11701e04c3fSmrg#define VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT			16
11801e04c3fSmrg#define VIV_FE_DRAW_2D_TOP_LEFT_Y(x)				(((x) << VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK)
11901e04c3fSmrg
12001e04c3fSmrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT				0x0000000c
12101e04c3fSmrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK			0x0000ffff
12201e04c3fSmrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT			0
12301e04c3fSmrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X(x)			(((x) << VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK)
12401e04c3fSmrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK			0xffff0000
12501e04c3fSmrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT			16
12601e04c3fSmrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y(x)			(((x) << VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK)
12701e04c3fSmrg
12801e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES					0x00000000
12901e04c3fSmrg
13001e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_HEADER				0x00000000
13101e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__MASK			0xf8000000
13201e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__SHIFT			27
13301e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP_DRAW_PRIMITIVES	0x28000000
13401e04c3fSmrg
13501e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND				0x00000004
13601e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK		0x000000ff
13701e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT		0
13801e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE(x)			(((x) << VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK)
13901e04c3fSmrg
14001e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_START				0x00000008
14101e04c3fSmrg
14201e04c3fSmrg#define VIV_FE_DRAW_PRIMITIVES_COUNT				0x0000000c
14301e04c3fSmrg
14401e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES				0x00000000
14501e04c3fSmrg
14601e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER			0x00000000
14701e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__MASK		0xf8000000
14801e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__SHIFT		27
14901e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP_DRAW_INDEXED_PRIMITIVES	0x30000000
15001e04c3fSmrg
15101e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND			0x00000004
15201e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK	0x000000ff
15301e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT	0
15401e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE(x)		(((x) << VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK)
15501e04c3fSmrg
15601e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_START			0x00000008
15701e04c3fSmrg
15801e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COUNT			0x0000000c
15901e04c3fSmrg
16001e04c3fSmrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_OFFSET			0x00000010
16101e04c3fSmrg
16201e04c3fSmrg#define VIV_FE_WAIT						0x00000000
16301e04c3fSmrg
16401e04c3fSmrg#define VIV_FE_WAIT_HEADER					0x00000000
16501e04c3fSmrg#define VIV_FE_WAIT_HEADER_DELAY__MASK				0x0000ffff
16601e04c3fSmrg#define VIV_FE_WAIT_HEADER_DELAY__SHIFT				0
16701e04c3fSmrg#define VIV_FE_WAIT_HEADER_DELAY(x)				(((x) << VIV_FE_WAIT_HEADER_DELAY__SHIFT) & VIV_FE_WAIT_HEADER_DELAY__MASK)
16801e04c3fSmrg#define VIV_FE_WAIT_HEADER_OP__MASK				0xf8000000
16901e04c3fSmrg#define VIV_FE_WAIT_HEADER_OP__SHIFT				27
17001e04c3fSmrg#define VIV_FE_WAIT_HEADER_OP_WAIT				0x38000000
17101e04c3fSmrg
17201e04c3fSmrg#define VIV_FE_LINK						0x00000000
17301e04c3fSmrg
17401e04c3fSmrg#define VIV_FE_LINK_HEADER					0x00000000
17501e04c3fSmrg#define VIV_FE_LINK_HEADER_PREFETCH__MASK			0x0000ffff
17601e04c3fSmrg#define VIV_FE_LINK_HEADER_PREFETCH__SHIFT			0
17701e04c3fSmrg#define VIV_FE_LINK_HEADER_PREFETCH(x)				(((x) << VIV_FE_LINK_HEADER_PREFETCH__SHIFT) & VIV_FE_LINK_HEADER_PREFETCH__MASK)
17801e04c3fSmrg#define VIV_FE_LINK_HEADER_OP__MASK				0xf8000000
17901e04c3fSmrg#define VIV_FE_LINK_HEADER_OP__SHIFT				27
18001e04c3fSmrg#define VIV_FE_LINK_HEADER_OP_LINK				0x40000000
18101e04c3fSmrg
18201e04c3fSmrg#define VIV_FE_LINK_ADDRESS					0x00000004
18301e04c3fSmrg
18401e04c3fSmrg#define VIV_FE_STALL						0x00000000
18501e04c3fSmrg
18601e04c3fSmrg#define VIV_FE_STALL_HEADER					0x00000000
18701e04c3fSmrg#define VIV_FE_STALL_HEADER_OP__MASK				0xf8000000
18801e04c3fSmrg#define VIV_FE_STALL_HEADER_OP__SHIFT				27
18901e04c3fSmrg#define VIV_FE_STALL_HEADER_OP_STALL				0x48000000
19001e04c3fSmrg
19101e04c3fSmrg#define VIV_FE_STALL_TOKEN					0x00000004
19201e04c3fSmrg#define VIV_FE_STALL_TOKEN_FROM__MASK				0x0000001f
19301e04c3fSmrg#define VIV_FE_STALL_TOKEN_FROM__SHIFT				0
19401e04c3fSmrg#define VIV_FE_STALL_TOKEN_FROM(x)				(((x) << VIV_FE_STALL_TOKEN_FROM__SHIFT) & VIV_FE_STALL_TOKEN_FROM__MASK)
19501e04c3fSmrg#define VIV_FE_STALL_TOKEN_TO__MASK				0x00001f00
19601e04c3fSmrg#define VIV_FE_STALL_TOKEN_TO__SHIFT				8
19701e04c3fSmrg#define VIV_FE_STALL_TOKEN_TO(x)				(((x) << VIV_FE_STALL_TOKEN_TO__SHIFT) & VIV_FE_STALL_TOKEN_TO__MASK)
19801e04c3fSmrg#define VIV_FE_STALL_TOKEN_UNK28__MASK				0x30000000
19901e04c3fSmrg#define VIV_FE_STALL_TOKEN_UNK28__SHIFT				28
20001e04c3fSmrg#define VIV_FE_STALL_TOKEN_UNK28(x)				(((x) << VIV_FE_STALL_TOKEN_UNK28__SHIFT) & VIV_FE_STALL_TOKEN_UNK28__MASK)
20101e04c3fSmrg
20201e04c3fSmrg#define VIV_FE_CALL						0x00000000
20301e04c3fSmrg
20401e04c3fSmrg#define VIV_FE_CALL_HEADER					0x00000000
20501e04c3fSmrg#define VIV_FE_CALL_HEADER_PREFETCH__MASK			0x0000ffff
20601e04c3fSmrg#define VIV_FE_CALL_HEADER_PREFETCH__SHIFT			0
20701e04c3fSmrg#define VIV_FE_CALL_HEADER_PREFETCH(x)				(((x) << VIV_FE_CALL_HEADER_PREFETCH__SHIFT) & VIV_FE_CALL_HEADER_PREFETCH__MASK)
20801e04c3fSmrg#define VIV_FE_CALL_HEADER_OP__MASK				0xf8000000
20901e04c3fSmrg#define VIV_FE_CALL_HEADER_OP__SHIFT				27
21001e04c3fSmrg#define VIV_FE_CALL_HEADER_OP_CALL				0x50000000
21101e04c3fSmrg
21201e04c3fSmrg#define VIV_FE_CALL_ADDRESS					0x00000004
21301e04c3fSmrg
21401e04c3fSmrg#define VIV_FE_CALL_RETURN_PREFETCH				0x00000008
21501e04c3fSmrg
21601e04c3fSmrg#define VIV_FE_CALL_RETURN_ADDRESS				0x0000000c
21701e04c3fSmrg
21801e04c3fSmrg#define VIV_FE_RETURN						0x00000000
21901e04c3fSmrg
22001e04c3fSmrg#define VIV_FE_RETURN_HEADER					0x00000000
22101e04c3fSmrg#define VIV_FE_RETURN_HEADER_OP__MASK				0xf8000000
22201e04c3fSmrg#define VIV_FE_RETURN_HEADER_OP__SHIFT				27
22301e04c3fSmrg#define VIV_FE_RETURN_HEADER_OP_RETURN				0x58000000
22401e04c3fSmrg
22501e04c3fSmrg#define VIV_FE_CHIP_SELECT					0x00000000
22601e04c3fSmrg
22701e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER				0x00000000
22801e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_OP__MASK			0xf8000000
22901e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_OP__SHIFT			27
23001e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_OP_CHIP_SELECT		0x68000000
23101e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP15			0x00008000
23201e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP14			0x00004000
23301e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP13			0x00002000
23401e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP12			0x00001000
23501e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP11			0x00000800
23601e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP10			0x00000400
23701e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP9			0x00000200
23801e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP8			0x00000100
23901e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP7			0x00000080
24001e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP6			0x00000040
24101e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP5			0x00000020
24201e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP4			0x00000010
24301e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP3			0x00000008
24401e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP2			0x00000004
24501e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP1			0x00000002
24601e04c3fSmrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP0			0x00000001
24701e04c3fSmrg
24801e04c3fSmrg#define VIV_FE_DRAW_INSTANCED					0x00000000
24901e04c3fSmrg
25001e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER				0x00000000
25101e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_OP__MASK			0xf8000000
25201e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_OP__SHIFT			27
25301e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_OP_DRAW_INSTANCED		0x60000000
25401e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_INDEXED			0x00100000
25501e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK			0x000f0000
25601e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT		16
25701e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_TYPE(x)			(((x) << VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT) & VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK)
25801e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__MASK	0x0000ffff
25901e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__SHIFT	0
26001e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO(x)	(((x) << VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__SHIFT) & VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__MASK)
26101e04c3fSmrg
26201e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_COUNT				0x00000004
26301e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__MASK	0xff000000
26401e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__SHIFT	24
26501e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI(x)	(((x) << VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__SHIFT) & VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__MASK)
26601e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__MASK		0x00ffffff
26701e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__SHIFT		0
26801e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT(x)		(((x) << VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__SHIFT) & VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__MASK)
26901e04c3fSmrg
27001e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_START				0x00000008
27101e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_START_INDEX__MASK			0xffffffff
27201e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT		0
27301e04c3fSmrg#define VIV_FE_DRAW_INSTANCED_START_INDEX(x)			(((x) << VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT) & VIV_FE_DRAW_INSTANCED_START_INDEX__MASK)
27401e04c3fSmrg
27501e04c3fSmrg#define VIV_FE_WAIT_FENCE					0x00000000
27601e04c3fSmrg
27701e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER				0x00000000
27801e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER_OP__MASK			0xf8000000
27901e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER_OP__SHIFT			27
28001e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER_OP_WAIT_FENCE			0x78000000
28101e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER_UNK16__MASK			0x00030000
28201e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER_UNK16__SHIFT			16
28301e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER_UNK16(x)			(((x) << VIV_FE_WAIT_FENCE_HEADER_UNK16__SHIFT) & VIV_FE_WAIT_FENCE_HEADER_UNK16__MASK)
28401e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__MASK		0x0000ffff
28501e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__SHIFT		0
28601e04c3fSmrg#define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT(x)			(((x) << VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__SHIFT) & VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__MASK)
28701e04c3fSmrg
28801e04c3fSmrg#define VIV_FE_WAIT_FENCE_ADDRESS				0x00000004
28901e04c3fSmrg
29001e04c3fSmrg#define VIV_FE_DRAW_INDIRECT					0x00000000
29101e04c3fSmrg
29201e04c3fSmrg#define VIV_FE_DRAW_INDIRECT_HEADER				0x00000000
29301e04c3fSmrg#define VIV_FE_DRAW_INDIRECT_HEADER_OP__MASK			0xf8000000
29401e04c3fSmrg#define VIV_FE_DRAW_INDIRECT_HEADER_OP__SHIFT			27
29501e04c3fSmrg#define VIV_FE_DRAW_INDIRECT_HEADER_OP_DRAW_INDIRECT		0x80000000
29601e04c3fSmrg#define VIV_FE_DRAW_INDIRECT_HEADER_UNK8			0x00000100
29701e04c3fSmrg#define VIV_FE_DRAW_INDIRECT_HEADER_TYPE__MASK			0x0000000f
29801e04c3fSmrg#define VIV_FE_DRAW_INDIRECT_HEADER_TYPE__SHIFT			0
29901e04c3fSmrg#define VIV_FE_DRAW_INDIRECT_HEADER_TYPE(x)			(((x) << VIV_FE_DRAW_INDIRECT_HEADER_TYPE__SHIFT) & VIV_FE_DRAW_INDIRECT_HEADER_TYPE__MASK)
30001e04c3fSmrg
30101e04c3fSmrg#define VIV_FE_DRAW_INDIRECT_ADDRESS				0x00000004
30201e04c3fSmrg
30301e04c3fSmrg#define VIV_FE_SNAP_PAGES					0x00000000
30401e04c3fSmrg
30501e04c3fSmrg#define VIV_FE_SNAP_PAGES_HEADER				0x00000000
30601e04c3fSmrg#define VIV_FE_SNAP_PAGES_HEADER_OP__MASK			0xf8000000
30701e04c3fSmrg#define VIV_FE_SNAP_PAGES_HEADER_OP__SHIFT			27
30801e04c3fSmrg#define VIV_FE_SNAP_PAGES_HEADER_OP_SNAP_PAGES			0x98000000
30901e04c3fSmrg#define VIV_FE_SNAP_PAGES_HEADER_UNK0__MASK			0x0000001f
31001e04c3fSmrg#define VIV_FE_SNAP_PAGES_HEADER_UNK0__SHIFT			0
31101e04c3fSmrg#define VIV_FE_SNAP_PAGES_HEADER_UNK0(x)			(((x) << VIV_FE_SNAP_PAGES_HEADER_UNK0__SHIFT) & VIV_FE_SNAP_PAGES_HEADER_UNK0__MASK)
31201e04c3fSmrg
31301e04c3fSmrg
31401e04c3fSmrg#endif /* CMDSTREAM_XML */
315