1b8e80941Smrg#ifndef CMDSTREAM_XML 2b8e80941Smrg#define CMDSTREAM_XML 3b8e80941Smrg 4b8e80941Smrg/* Autogenerated file, DO NOT EDIT manually! 5b8e80941Smrg 6b8e80941SmrgThis file was generated by the rules-ng-ng headergen tool in this git repository: 7b8e80941Smrghttp://0x04.net/cgit/index.cgi/rules-ng-ng 8b8e80941Smrggit clone git://0x04.net/rules-ng-ng 9b8e80941Smrg 10b8e80941SmrgThe rules-ng-ng source files this header was generated from are: 11b8e80941Smrg- cmdstream.xml ( 16930 bytes, from 2019-01-04 11:37:39) 12b8e80941Smrg- copyright.xml ( 1597 bytes, from 2018-02-10 13:09:26) 13b8e80941Smrg- common.xml ( 35468 bytes, from 2018-02-10 13:09:26) 14b8e80941Smrg 15b8e80941SmrgCopyright (C) 2012-2019 by the following authors: 16b8e80941Smrg- Wladimir J. van der Laan <laanwj@gmail.com> 17b8e80941Smrg- Christian Gmeiner <christian.gmeiner@gmail.com> 18b8e80941Smrg- Lucas Stach <l.stach@pengutronix.de> 19b8e80941Smrg- Russell King <rmk@arm.linux.org.uk> 20b8e80941Smrg 21b8e80941SmrgPermission is hereby granted, free of charge, to any person obtaining a 22b8e80941Smrgcopy of this software and associated documentation files (the "Software"), 23b8e80941Smrgto deal in the Software without restriction, including without limitation 24b8e80941Smrgthe rights to use, copy, modify, merge, publish, distribute, sub license, 25b8e80941Smrgand/or sell copies of the Software, and to permit persons to whom the 26b8e80941SmrgSoftware is furnished to do so, subject to the following conditions: 27b8e80941Smrg 28b8e80941SmrgThe above copyright notice and this permission notice (including the 29b8e80941Smrgnext paragraph) shall be included in all copies or substantial portions 30b8e80941Smrgof the Software. 31b8e80941Smrg 32b8e80941SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 33b8e80941SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 34b8e80941SmrgFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 35b8e80941SmrgTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 36b8e80941SmrgLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 37b8e80941SmrgFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 38b8e80941SmrgDEALINGS IN THE SOFTWARE. 39b8e80941Smrg*/ 40b8e80941Smrg 41b8e80941Smrg 42b8e80941Smrg#define FE_OPCODE_LOAD_STATE 0x00000001 43b8e80941Smrg#define FE_OPCODE_END 0x00000002 44b8e80941Smrg#define FE_OPCODE_NOP 0x00000003 45b8e80941Smrg#define FE_OPCODE_DRAW_2D 0x00000004 46b8e80941Smrg#define FE_OPCODE_DRAW_PRIMITIVES 0x00000005 47b8e80941Smrg#define FE_OPCODE_DRAW_INDEXED_PRIMITIVES 0x00000006 48b8e80941Smrg#define FE_OPCODE_WAIT 0x00000007 49b8e80941Smrg#define FE_OPCODE_LINK 0x00000008 50b8e80941Smrg#define FE_OPCODE_STALL 0x00000009 51b8e80941Smrg#define FE_OPCODE_CALL 0x0000000a 52b8e80941Smrg#define FE_OPCODE_RETURN 0x0000000b 53b8e80941Smrg#define FE_OPCODE_DRAW_INSTANCED 0x0000000c 54b8e80941Smrg#define FE_OPCODE_CHIP_SELECT 0x0000000d 55b8e80941Smrg#define FE_OPCODE_WAIT_FENCE 0x0000000f 56b8e80941Smrg#define FE_OPCODE_DRAW_INDIRECT 0x00000010 57b8e80941Smrg#define FE_OPCODE_SNAP_PAGES 0x00000013 58b8e80941Smrg#define PRIMITIVE_TYPE_POINTS 0x00000001 59b8e80941Smrg#define PRIMITIVE_TYPE_LINES 0x00000002 60b8e80941Smrg#define PRIMITIVE_TYPE_LINE_STRIP 0x00000003 61b8e80941Smrg#define PRIMITIVE_TYPE_TRIANGLES 0x00000004 62b8e80941Smrg#define PRIMITIVE_TYPE_TRIANGLE_STRIP 0x00000005 63b8e80941Smrg#define PRIMITIVE_TYPE_TRIANGLE_FAN 0x00000006 64b8e80941Smrg#define PRIMITIVE_TYPE_LINE_LOOP 0x00000007 65b8e80941Smrg#define PRIMITIVE_TYPE_QUADS 0x00000008 66b8e80941Smrg#define VIV_FE_LOAD_STATE 0x00000000 67b8e80941Smrg 68b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER 0x00000000 69b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_OP__MASK 0xf8000000 70b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_OP__SHIFT 27 71b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE 0x08000000 72b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_FIXP 0x04000000 73b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_COUNT__MASK 0x03ff0000 74b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT 16 75b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_COUNT(x) (((x) << VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT) & VIV_FE_LOAD_STATE_HEADER_COUNT__MASK) 76b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK 0x0000ffff 77b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT 0 78b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET(x) (((x) << VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT) & VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK) 79b8e80941Smrg#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR 2 80b8e80941Smrg 81b8e80941Smrg#define VIV_FE_END 0x00000000 82b8e80941Smrg 83b8e80941Smrg#define VIV_FE_END_HEADER 0x00000000 84b8e80941Smrg#define VIV_FE_END_HEADER_EVENT_ID__MASK 0x0000001f 85b8e80941Smrg#define VIV_FE_END_HEADER_EVENT_ID__SHIFT 0 86b8e80941Smrg#define VIV_FE_END_HEADER_EVENT_ID(x) (((x) << VIV_FE_END_HEADER_EVENT_ID__SHIFT) & VIV_FE_END_HEADER_EVENT_ID__MASK) 87b8e80941Smrg#define VIV_FE_END_HEADER_EVENT_ENABLE 0x00000100 88b8e80941Smrg#define VIV_FE_END_HEADER_OP__MASK 0xf8000000 89b8e80941Smrg#define VIV_FE_END_HEADER_OP__SHIFT 27 90b8e80941Smrg#define VIV_FE_END_HEADER_OP_END 0x10000000 91b8e80941Smrg 92b8e80941Smrg#define VIV_FE_NOP 0x00000000 93b8e80941Smrg 94b8e80941Smrg#define VIV_FE_NOP_HEADER 0x00000000 95b8e80941Smrg#define VIV_FE_NOP_HEADER_OP__MASK 0xf8000000 96b8e80941Smrg#define VIV_FE_NOP_HEADER_OP__SHIFT 27 97b8e80941Smrg#define VIV_FE_NOP_HEADER_OP_NOP 0x18000000 98b8e80941Smrg 99b8e80941Smrg#define VIV_FE_DRAW_2D 0x00000000 100b8e80941Smrg 101b8e80941Smrg#define VIV_FE_DRAW_2D_HEADER 0x00000000 102b8e80941Smrg#define VIV_FE_DRAW_2D_HEADER_COUNT__MASK 0x0000ff00 103b8e80941Smrg#define VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT 8 104b8e80941Smrg#define VIV_FE_DRAW_2D_HEADER_COUNT(x) (((x) << VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_COUNT__MASK) 105b8e80941Smrg#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK 0x07ff0000 106b8e80941Smrg#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT 16 107b8e80941Smrg#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) 108b8e80941Smrg#define VIV_FE_DRAW_2D_HEADER_OP__MASK 0xf8000000 109b8e80941Smrg#define VIV_FE_DRAW_2D_HEADER_OP__SHIFT 27 110b8e80941Smrg#define VIV_FE_DRAW_2D_HEADER_OP_DRAW_2D 0x20000000 111b8e80941Smrg 112b8e80941Smrg#define VIV_FE_DRAW_2D_TOP_LEFT 0x00000008 113b8e80941Smrg#define VIV_FE_DRAW_2D_TOP_LEFT_X__MASK 0x0000ffff 114b8e80941Smrg#define VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT 0 115b8e80941Smrg#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) 116b8e80941Smrg#define VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK 0xffff0000 117b8e80941Smrg#define VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT 16 118b8e80941Smrg#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) 119b8e80941Smrg 120b8e80941Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT 0x0000000c 121b8e80941Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK 0x0000ffff 122b8e80941Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT 0 123b8e80941Smrg#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) 124b8e80941Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK 0xffff0000 125b8e80941Smrg#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT 16 126b8e80941Smrg#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) 127b8e80941Smrg 128b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES 0x00000000 129b8e80941Smrg 130b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_HEADER 0x00000000 131b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__MASK 0xf8000000 132b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__SHIFT 27 133b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP_DRAW_PRIMITIVES 0x28000000 134b8e80941Smrg 135b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND 0x00000004 136b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK 0x000000ff 137b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT 0 138b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE(x) (((x) << VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK) 139b8e80941Smrg 140b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_START 0x00000008 141b8e80941Smrg 142b8e80941Smrg#define VIV_FE_DRAW_PRIMITIVES_COUNT 0x0000000c 143b8e80941Smrg 144b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES 0x00000000 145b8e80941Smrg 146b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER 0x00000000 147b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__MASK 0xf8000000 148b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__SHIFT 27 149b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP_DRAW_INDEXED_PRIMITIVES 0x30000000 150b8e80941Smrg 151b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND 0x00000004 152b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK 0x000000ff 153b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT 0 154b8e80941Smrg#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) 155b8e80941Smrg 156b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_START 0x00000008 157b8e80941Smrg 158b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COUNT 0x0000000c 159b8e80941Smrg 160b8e80941Smrg#define VIV_FE_DRAW_INDEXED_PRIMITIVES_OFFSET 0x00000010 161b8e80941Smrg 162b8e80941Smrg#define VIV_FE_WAIT 0x00000000 163b8e80941Smrg 164b8e80941Smrg#define VIV_FE_WAIT_HEADER 0x00000000 165b8e80941Smrg#define VIV_FE_WAIT_HEADER_DELAY__MASK 0x0000ffff 166b8e80941Smrg#define VIV_FE_WAIT_HEADER_DELAY__SHIFT 0 167b8e80941Smrg#define VIV_FE_WAIT_HEADER_DELAY(x) (((x) << VIV_FE_WAIT_HEADER_DELAY__SHIFT) & VIV_FE_WAIT_HEADER_DELAY__MASK) 168b8e80941Smrg#define VIV_FE_WAIT_HEADER_OP__MASK 0xf8000000 169b8e80941Smrg#define VIV_FE_WAIT_HEADER_OP__SHIFT 27 170b8e80941Smrg#define VIV_FE_WAIT_HEADER_OP_WAIT 0x38000000 171b8e80941Smrg 172b8e80941Smrg#define VIV_FE_LINK 0x00000000 173b8e80941Smrg 174b8e80941Smrg#define VIV_FE_LINK_HEADER 0x00000000 175b8e80941Smrg#define VIV_FE_LINK_HEADER_PREFETCH__MASK 0x0000ffff 176b8e80941Smrg#define VIV_FE_LINK_HEADER_PREFETCH__SHIFT 0 177b8e80941Smrg#define VIV_FE_LINK_HEADER_PREFETCH(x) (((x) << VIV_FE_LINK_HEADER_PREFETCH__SHIFT) & VIV_FE_LINK_HEADER_PREFETCH__MASK) 178b8e80941Smrg#define VIV_FE_LINK_HEADER_OP__MASK 0xf8000000 179b8e80941Smrg#define VIV_FE_LINK_HEADER_OP__SHIFT 27 180b8e80941Smrg#define VIV_FE_LINK_HEADER_OP_LINK 0x40000000 181b8e80941Smrg 182b8e80941Smrg#define VIV_FE_LINK_ADDRESS 0x00000004 183b8e80941Smrg 184b8e80941Smrg#define VIV_FE_STALL 0x00000000 185b8e80941Smrg 186b8e80941Smrg#define VIV_FE_STALL_HEADER 0x00000000 187b8e80941Smrg#define VIV_FE_STALL_HEADER_OP__MASK 0xf8000000 188b8e80941Smrg#define VIV_FE_STALL_HEADER_OP__SHIFT 27 189b8e80941Smrg#define VIV_FE_STALL_HEADER_OP_STALL 0x48000000 190b8e80941Smrg 191b8e80941Smrg#define VIV_FE_STALL_TOKEN 0x00000004 192b8e80941Smrg#define VIV_FE_STALL_TOKEN_FROM__MASK 0x0000001f 193b8e80941Smrg#define VIV_FE_STALL_TOKEN_FROM__SHIFT 0 194b8e80941Smrg#define VIV_FE_STALL_TOKEN_FROM(x) (((x) << VIV_FE_STALL_TOKEN_FROM__SHIFT) & VIV_FE_STALL_TOKEN_FROM__MASK) 195b8e80941Smrg#define VIV_FE_STALL_TOKEN_TO__MASK 0x00001f00 196b8e80941Smrg#define VIV_FE_STALL_TOKEN_TO__SHIFT 8 197b8e80941Smrg#define VIV_FE_STALL_TOKEN_TO(x) (((x) << VIV_FE_STALL_TOKEN_TO__SHIFT) & VIV_FE_STALL_TOKEN_TO__MASK) 198b8e80941Smrg#define VIV_FE_STALL_TOKEN_UNK28__MASK 0x30000000 199b8e80941Smrg#define VIV_FE_STALL_TOKEN_UNK28__SHIFT 28 200b8e80941Smrg#define VIV_FE_STALL_TOKEN_UNK28(x) (((x) << VIV_FE_STALL_TOKEN_UNK28__SHIFT) & VIV_FE_STALL_TOKEN_UNK28__MASK) 201b8e80941Smrg 202b8e80941Smrg#define VIV_FE_CALL 0x00000000 203b8e80941Smrg 204b8e80941Smrg#define VIV_FE_CALL_HEADER 0x00000000 205b8e80941Smrg#define VIV_FE_CALL_HEADER_PREFETCH__MASK 0x0000ffff 206b8e80941Smrg#define VIV_FE_CALL_HEADER_PREFETCH__SHIFT 0 207b8e80941Smrg#define VIV_FE_CALL_HEADER_PREFETCH(x) (((x) << VIV_FE_CALL_HEADER_PREFETCH__SHIFT) & VIV_FE_CALL_HEADER_PREFETCH__MASK) 208b8e80941Smrg#define VIV_FE_CALL_HEADER_OP__MASK 0xf8000000 209b8e80941Smrg#define VIV_FE_CALL_HEADER_OP__SHIFT 27 210b8e80941Smrg#define VIV_FE_CALL_HEADER_OP_CALL 0x50000000 211b8e80941Smrg 212b8e80941Smrg#define VIV_FE_CALL_ADDRESS 0x00000004 213b8e80941Smrg 214b8e80941Smrg#define VIV_FE_CALL_RETURN_PREFETCH 0x00000008 215b8e80941Smrg 216b8e80941Smrg#define VIV_FE_CALL_RETURN_ADDRESS 0x0000000c 217b8e80941Smrg 218b8e80941Smrg#define VIV_FE_RETURN 0x00000000 219b8e80941Smrg 220b8e80941Smrg#define VIV_FE_RETURN_HEADER 0x00000000 221b8e80941Smrg#define VIV_FE_RETURN_HEADER_OP__MASK 0xf8000000 222b8e80941Smrg#define VIV_FE_RETURN_HEADER_OP__SHIFT 27 223b8e80941Smrg#define VIV_FE_RETURN_HEADER_OP_RETURN 0x58000000 224b8e80941Smrg 225b8e80941Smrg#define VIV_FE_CHIP_SELECT 0x00000000 226b8e80941Smrg 227b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER 0x00000000 228b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_OP__MASK 0xf8000000 229b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_OP__SHIFT 27 230b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_OP_CHIP_SELECT 0x68000000 231b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP15 0x00008000 232b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP14 0x00004000 233b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP13 0x00002000 234b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP12 0x00001000 235b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP11 0x00000800 236b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP10 0x00000400 237b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP9 0x00000200 238b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP8 0x00000100 239b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP7 0x00000080 240b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP6 0x00000040 241b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP5 0x00000020 242b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP4 0x00000010 243b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP3 0x00000008 244b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP2 0x00000004 245b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP1 0x00000002 246b8e80941Smrg#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP0 0x00000001 247b8e80941Smrg 248b8e80941Smrg#define VIV_FE_DRAW_INSTANCED 0x00000000 249b8e80941Smrg 250b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER 0x00000000 251b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER_OP__MASK 0xf8000000 252b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER_OP__SHIFT 27 253b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER_OP_DRAW_INSTANCED 0x60000000 254b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER_INDEXED 0x00100000 255b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK 0x000f0000 256b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT 16 257b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER_TYPE(x) (((x) << VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT) & VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK) 258b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__MASK 0x0000ffff 259b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__SHIFT 0 260b8e80941Smrg#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) 261b8e80941Smrg 262b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_COUNT 0x00000004 263b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__MASK 0xff000000 264b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__SHIFT 24 265b8e80941Smrg#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) 266b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__MASK 0x00ffffff 267b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__SHIFT 0 268b8e80941Smrg#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) 269b8e80941Smrg 270b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_START 0x00000008 271b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_START_INDEX__MASK 0xffffffff 272b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT 0 273b8e80941Smrg#define VIV_FE_DRAW_INSTANCED_START_INDEX(x) (((x) << VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT) & VIV_FE_DRAW_INSTANCED_START_INDEX__MASK) 274b8e80941Smrg 275b8e80941Smrg#define VIV_FE_WAIT_FENCE 0x00000000 276b8e80941Smrg 277b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER 0x00000000 278b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER_OP__MASK 0xf8000000 279b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER_OP__SHIFT 27 280b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER_OP_WAIT_FENCE 0x78000000 281b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER_UNK16__MASK 0x00030000 282b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER_UNK16__SHIFT 16 283b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER_UNK16(x) (((x) << VIV_FE_WAIT_FENCE_HEADER_UNK16__SHIFT) & VIV_FE_WAIT_FENCE_HEADER_UNK16__MASK) 284b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__MASK 0x0000ffff 285b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__SHIFT 0 286b8e80941Smrg#define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT(x) (((x) << VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__SHIFT) & VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__MASK) 287b8e80941Smrg 288b8e80941Smrg#define VIV_FE_WAIT_FENCE_ADDRESS 0x00000004 289b8e80941Smrg 290b8e80941Smrg#define VIV_FE_DRAW_INDIRECT 0x00000000 291b8e80941Smrg 292b8e80941Smrg#define VIV_FE_DRAW_INDIRECT_HEADER 0x00000000 293b8e80941Smrg#define VIV_FE_DRAW_INDIRECT_HEADER_OP__MASK 0xf8000000 294b8e80941Smrg#define VIV_FE_DRAW_INDIRECT_HEADER_OP__SHIFT 27 295b8e80941Smrg#define VIV_FE_DRAW_INDIRECT_HEADER_OP_DRAW_INDIRECT 0x80000000 296b8e80941Smrg#define VIV_FE_DRAW_INDIRECT_HEADER_UNK8 0x00000100 297b8e80941Smrg#define VIV_FE_DRAW_INDIRECT_HEADER_TYPE__MASK 0x0000000f 298b8e80941Smrg#define VIV_FE_DRAW_INDIRECT_HEADER_TYPE__SHIFT 0 299b8e80941Smrg#define VIV_FE_DRAW_INDIRECT_HEADER_TYPE(x) (((x) << VIV_FE_DRAW_INDIRECT_HEADER_TYPE__SHIFT) & VIV_FE_DRAW_INDIRECT_HEADER_TYPE__MASK) 300b8e80941Smrg 301b8e80941Smrg#define VIV_FE_DRAW_INDIRECT_ADDRESS 0x00000004 302b8e80941Smrg 303b8e80941Smrg#define VIV_FE_SNAP_PAGES 0x00000000 304b8e80941Smrg 305b8e80941Smrg#define VIV_FE_SNAP_PAGES_HEADER 0x00000000 306b8e80941Smrg#define VIV_FE_SNAP_PAGES_HEADER_OP__MASK 0xf8000000 307b8e80941Smrg#define VIV_FE_SNAP_PAGES_HEADER_OP__SHIFT 27 308b8e80941Smrg#define VIV_FE_SNAP_PAGES_HEADER_OP_SNAP_PAGES 0x98000000 309b8e80941Smrg#define VIV_FE_SNAP_PAGES_HEADER_UNK0__MASK 0x0000001f 310b8e80941Smrg#define VIV_FE_SNAP_PAGES_HEADER_UNK0__SHIFT 0 311b8e80941Smrg#define VIV_FE_SNAP_PAGES_HEADER_UNK0(x) (((x) << VIV_FE_SNAP_PAGES_HEADER_UNK0__SHIFT) & VIV_FE_SNAP_PAGES_HEADER_UNK0__MASK) 312b8e80941Smrg 313b8e80941Smrg 314b8e80941Smrg#endif /* CMDSTREAM_XML */ 315