Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

v3d_packet_v21.xml 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. <vcxml gen="2.1">
  2. <packet name="Halt" code="0"/>
  3. <packet name="NOP" code="1"/>
  4. <packet name="Flush" code="4" cl="B"/>
  5. <packet name="Flush All State" code="5" cl="B"/>
  6. <packet name="Start Tile Binning" code="6" cl="B"/>
  7. <packet name="Increment Semaphore" code="7"/>
  8. <packet name="Wait on Semaphore" code="8"/>
  9. <packet name="Branch" code="16">
  10. <field name="Address" size="32" start="0" type="address"/>
  11. </packet>
  12. <packet name="Branch to sub-list" code="17">
  13. <field name="Address" size="32" start="0" type="address"/>
  14. </packet>
  15. <packet name="Return from sub-list" code="18"/>
  16. <packet name="Store Multi-sample Resolved Tile Color Buffer" code="24" cl="R"/>
  17. <packet name="Store Multi-sample Resolved Tile Color Buffer and EOF" code="25" cl="R"/>
  18. <packet name="Store Full Resolution Tile Buffer" cl="R" code="26">
  19. <field name="Address" size="28" start="4" type="address"/>
  20. <field name="Last Tile" size="1" start="3" type="bool"/>
  21. <field name="Disable Clear on Write" size="1" start="2" type="bool"/>
  22. <field name="Disable Z/Stencil Buffer write" size="1" start="1" type="bool"/>
  23. <field name="Disable Color Buffer write" size="1" start="0" type="bool"/>
  24. </packet>
  25. <packet name="Re-load Full Resolution Tile Buffer" cl="R" code="27">
  26. <field name="Address" size="28" start="4" type="address"/>
  27. <field name="Disable Z/Stencil Buffer read" size="1" start="1" type="bool"/>
  28. <field name="Disable Color Buffer read" size="1" start="0" type="bool"/>
  29. </packet>
  30. <packet name="Store Tile Buffer General" code="28" cl="R">
  31. <field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/>
  32. <field name="Last Tile of Frame" size="1" start="19" type="bool"/>
  33. <field name="Disable VG-Mask buffer dump" size="1" start="18" type="bool"/>
  34. <field name="Disable Z/Stencil buffer dump" size="1" start="17" type="bool"/>
  35. <field name="Disable Color buffer dump" size="1" start="16" type="bool"/>
  36. <field name="Disable VG-Mask buffer clear on store/dump" size="1" start="15" type="bool"/>
  37. <field name="Disable Z/Stencil buffer clear on store/dump" size="1" start="14" type="bool"/>
  38. <field name="Disable Color buffer clear on store/dump" size="1" start="13" type="bool"/>
  39. <field name="Pixel Color Format" size="2" start="8" type="uint">
  40. <value name="rgba8888" value="0"/>
  41. <value name="bgr565 dithered" value="1"/>
  42. <value name="bgr565 no dither" value="2"/>
  43. </field>
  44. <field name="Mode" size="2" start="6" type="uint">
  45. <value name="Sample 0" value="0"/>
  46. <value name="Decimate x4" value="1"/>
  47. <value name="Decimate x16" value="2"/>
  48. </field>
  49. <field name="Format" size="2" start="4" type="uint">
  50. <value name="Raster" value="0"/>
  51. <value name="T" value="1"/>
  52. <value name="LT" value="2"/>
  53. </field>
  54. <field name="Buffer to Store" size="3" start="0" type="uint">
  55. <value name="None" value="0"/>
  56. <value name="Color" value="1"/>
  57. <value name="Z/stencil" value="2"/>
  58. <value name="Z" value="3"/>
  59. <value name="VG-Mask" value="4"/>
  60. </field>
  61. </packet>
  62. <packet name="Load Tile Buffer General" code="29" cl="R">
  63. <field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/>
  64. <field name="Disable VG-Mask buffer load" size="1" start="18" type="bool"/>
  65. <field name="Disable Z/Stencil buffer load" size="1" start="17" type="bool"/>
  66. <field name="Disable Color buffer load" size="1" start="16" type="bool"/>
  67. <field name="Pixel Color Format" size="2" start="8" type="uint">
  68. <value name="rgba8888" value="0"/>
  69. <value name="bgr565 dithered" value="1"/>
  70. <value name="bgr565 no dither" value="2"/>
  71. </field>
  72. <field name="Mode" size="2" start="6" type="uint">
  73. <value name="Sample 0" value="0"/>
  74. <value name="Decimate x4" value="1"/>
  75. <value name="Decimate x16" value="2"/>
  76. </field>
  77. <field name="Format" size="2" start="4" type="uint">
  78. <value name="Raster" value="0"/>
  79. <value name="T" value="1"/>
  80. <value name="LT" value="2"/>
  81. </field>
  82. <field name="Buffer to Store" size="3" start="0" type="uint">
  83. <value name="None" value="0"/>
  84. <value name="Color" value="1"/>
  85. <value name="Z/stencil" value="2"/>
  86. <value name="Z" value="3"/>
  87. <value name="VG-Mask" value="4"/>
  88. </field>
  89. </packet>
  90. <packet name="Indexed Primitive List" code="32">
  91. <field name="Maximum Index" size="32" start="72" type="uint"/>
  92. <field name="Address of Indices List" size="32" start="40" type="uint"/>
  93. <field name="Length" size="32" start="8" type="uint"/>
  94. <field name="Index type" size="4" start="4" type="uint">
  95. <value name="8-bit" value="0"/>
  96. <value name="16-bit" value="1"/>
  97. </field>
  98. <field name="Primitive mode" size="4" start="0" type="uint">
  99. <value name="points" value="0"/>
  100. <value name="lines" value="1"/>
  101. <value name="line loop" value="2"/>
  102. <value name="line strip" value="3"/>
  103. <value name="triangles" value="4"/>
  104. <value name="triangles strip" value="5"/>
  105. <value name="triangles fan" value="6"/>
  106. </field>
  107. </packet>
  108. <packet name="Vertex Array Primitives" code="33">
  109. <field name="Index of First Vertex" size="32" start="40" type="uint"/>
  110. <field name="Length" size="32" start="8" type="uint"/>
  111. <field name="Primitive mode" size="4" start="0" type="uint">
  112. <value name="points" value="0"/>
  113. <value name="lines" value="1"/>
  114. <value name="line loop" value="2"/>
  115. <value name="line strip" value="3"/>
  116. <value name="triangles" value="4"/>
  117. <value name="triangles strip" value="5"/>
  118. <value name="triangles fan" value="6"/>
  119. </field>
  120. </packet>
  121. <packet name="Primitive List Format" cl="R" code="56">
  122. <field name="Data Type" size="4" start="4" type="uint">
  123. <value name="16-bit index" value="1"/>
  124. <value name="32-bit x/y" value="3"/>
  125. </field>
  126. <field name="Primitive Type" size="4" start="0" type="uint">
  127. <value name="Points List" value="0"/>
  128. <value name="Lines List" value="1"/>
  129. <value name="Triangles List" value="2"/>
  130. <value name="RHY List" value="3"/>
  131. </field>
  132. </packet>
  133. <packet name="GL Shader State" code="64">
  134. <!-- The address field will be filled in by kernel validation code. -->
  135. <field name="Address" size="28" start="0" type="uint"/>
  136. <field name="Extended shader record" size="1" start="3" type="bool"/>
  137. <field name="Number of attribute arrays" size="3" start="0" type="uint"/>
  138. </packet>
  139. <packet name="Clear Colors" cl="R" code="114">
  140. <field name="Clear Stencil" size="8" start="96" type="uint"/>
  141. <field name="Clear VG Mask" size="8" start="88" type="uint"/>
  142. <field name="Clear ZS" size="24" start="64" type="uint"/>
  143. <field name="Clear Color" size="64" start="0" type="uint"/>
  144. </packet>
  145. <packet name="Configuration Bits" code="96">
  146. <field name="Early Z updates enable" size="1" start="17" type="bool"/>
  147. <field name="Early Z enable" size="1" start="16" type="bool"/>
  148. <field name="Z updates enable" size="1" start="15" type="bool"/>
  149. <field name="Depth-Test Function" size="3" start="12" type="uint"/>
  150. <!-- add values -->
  151. <field name="Coverage Read Mode" size="1" start="11" type="uint"/>
  152. <!-- add values -->
  153. <field name="Coverage Pipe Select" size="1" start="8" type="bool"/>
  154. <field name="Rasteriser Oversample Mode" size="2" start="6" type="bool"/>
  155. <!-- add values -->
  156. <field name="Coverage Read Type" size="1" start="5" type="uint"/>
  157. <!-- add values -->
  158. <field name="Antialiased Points and Lines" size="1" start="4" type="bool"/>
  159. <field name="Enable Depth Offset" size="1" start="3" type="bool"/>
  160. <field name="Clockwise Primitives" size="1" start="2" type="bool"/>
  161. <field name="Enable Reverse Facing Primitive" size="1" start="1" type="bool"/>
  162. <field name="Enable Forward Facing Primitive" size="1" start="0" type="bool"/>
  163. </packet>
  164. <packet name="Flat Shade Flags" code="97">
  165. <field name="Flat-shading Flags" size="32" start="0" type="uint"/>
  166. </packet>
  167. <packet name="Point size" code="98">
  168. <field name="Point Size" size="32" start="0" type="float"/>
  169. </packet>
  170. <packet name="Line width" code="99">
  171. <field name="Line width" size="32" start="0" type="float"/>
  172. </packet>
  173. <packet name="RHT X boundary" code="100">
  174. <field name="RHT primitive X boundary" size="16" start="0" type="int"/>
  175. </packet>
  176. <packet name="Depth Offset" code="101">
  177. <!-- these fields are both float-1-8-7 encoded (top 16 bits of a float32) -->
  178. <field name="Depth Offset Units" size="16" start="16" type="uint"/>
  179. <field name="Depth Offset Factor" size="16" start="0" type="uint"/>
  180. </packet>
  181. <packet name="Clip Window" code="102">
  182. <field name="Clip Window Height in pixels" size="16" start="48" type="uint"/>
  183. <field name="Clip Window Width in pixels" size="16" start="32" type="uint"/>
  184. <field name="Clip Window Bottom Pixel Coordinate" size="16" start="16" type="uint"/>
  185. <field name="Clip Window Left Pixel Coordinate" size="16" start="0" type="uint"/>
  186. </packet>
  187. <packet name="Viewport Offset" code="103">
  188. <field name="Viewport Centre Y-coordinate" size="16" start="16" type="s12.4"/>
  189. <field name="Viewport Centre X-coordinate" size="16" start="0" type="s12.4"/>
  190. </packet>
  191. <packet name="Z min and max clipping planes" code="104">
  192. <field name="Maximum Zw" size="32" start="32" type="float"/>
  193. <field name="Minimum Zw" size="32" start="0" type="float"/>
  194. </packet>
  195. <packet name="Clipper XY Scaling" code="105" cl="B">
  196. <field name="Viewport Half-Height in 1/16th of pixel" size="32" start="32" type="float"/>
  197. <field name="Viewport Half-Width in 1/16th of pixel" size="32" start="0" type="float"/>
  198. </packet>
  199. <packet name="Clipper Z Scale and Offset" code="106" cl="B">
  200. <field name="Viewport Z Offset (Zc to Zs)" size="32" start="32" type="float"/>
  201. <field name="Viewport Z Scale (Zc to Zs)" size="32" start="0" type="float"/>
  202. </packet>
  203. <packet name="Tile Binning Mode Configuration" code="112" cl="B">
  204. <field name="Double-buffer in non-ms mode" size="1" start="119" type="bool"/>
  205. <field name="Tile Allocation Block Size" size="2" start="117" type="uint">
  206. <value name="block size 32" value="0"/>
  207. <value name="block size 64" value="1"/>
  208. <value name="block size 128" value="2"/>
  209. <value name="block size 256" value="3"/>
  210. </field>
  211. <field name="Tile Allocation Initial Block Size" size="2" start="115" type="uint">
  212. <value name="block size 32" value="0"/>
  213. <value name="block size 64" value="1"/>
  214. <value name="block size 128" value="2"/>
  215. <value name="block size 256" value="3"/>
  216. </field>
  217. <field name="Auto-initialise Tile State Data Array" size="1" start="114" type="bool"/>
  218. <field name="Tile Buffer 64-bit Color Depth" size="1" start="113" type="bool"/>
  219. <field name="Multisample Mode (4x)" size="1" start="112" type="bool"/>
  220. <field name="Height (in tiles)" size="8" start="104" type="uint"/>
  221. <field name="Width (in tiles)" size="8" start="96" type="uint"/>
  222. <field name="Tile State Data Array Address" size="32" start="64" type="uint"/>
  223. <field name="Tile Allocation memory size" size="32" start="32" type="uint"/>
  224. <field name="Tile Allocation memory address" size="32" start="0" type="uint"/>
  225. </packet>
  226. <packet name="Tile Rendering Mode Configuration" code="113" cl="R">
  227. <field name="Double-buffer in non-ms mode" size="1" start="76" type="bool"/>
  228. <field name="Early-Z/Early-Cov disable" size="1" start="75" type="bool"/>
  229. <field name="Early-Z Update Direction GT/GE" size="1" start="74" type="bool"/>
  230. <field name="Select Coverage Mode" size="1" start="73" type="bool"/>
  231. <field name="Enable VG Mask Buffer" size="1" start="72" type="bool"/>
  232. <field name="Memory Format" size="2" start="70" type="uint">
  233. <value name="Raster" value="0"/>
  234. <value name="T" value="1"/>
  235. <value name="LT" value="2"/>
  236. </field>
  237. <field name="Decimate Mode" size="2" start="68" type="uint"/>
  238. <field name="Non-HDR Frame Buffer Color Format" size="2" start="66" type="uint">
  239. <value name="rendering config bgr565 dithered" value="0"/>
  240. <value name="rendering config rgba8888" value="1"/>
  241. <value name="rendering config bgr565 no dither" value="2"/>
  242. </field>
  243. <field name="Tile Buffer 64-bit Color Depth" size="1" start="65" type="bool"/>
  244. <field name="Multisample Mode (4x)" size="1" start="64" type="bool"/>
  245. <field name="Height (pixels)" size="16" start="48" type="uint"/>
  246. <field name="Width (pixels)" size="16" start="32" type="uint"/>
  247. <field name="Memory Address" size="32" start="0" type="address"/>
  248. </packet>
  249. <packet name="Tile Coordinates" code="115" cl="R">
  250. <field name="Tile Row Number" size="8" start="8" type="uint"/>
  251. <field name="Tile Column Number" size="8" start="0" type="uint"/>
  252. </packet>
  253. <packet name="Gem Relocations" code="254" cl="B">
  254. <field name="buffer 1" size="32" start="32" type="uint"/>
  255. <field name="buffer 0" size="32" start="0" type="uint"/>
  256. </packet>
  257. <struct name="Shader Record">
  258. <field name="Fragment Shader is single threaded" size="1" start="0" type="bool"/>
  259. <field name="Point Size included in shaded vertex data" size="1" start="1" type="bool"/>
  260. <field name="Enable Clipping" size="1" start="2" type="bool"/>
  261. <field name="Fragment Shader Number of Uniforms (not used currently)" size="16" start="2b" type="uint"/>
  262. <field name="Fragment Shader Number of Varyings" size="8" start="3b" type="uint"/>
  263. <field name="Fragment Shader Code Address" size="32" start="4b" type="address"/>
  264. <!-- set up by the kernel -->
  265. <field name="Fragment Shader Uniforms Address" size="32" start="8b" type="uint"/>
  266. <field name="Vertex Shader Number of Uniforms (not used currently)" size="16" start="12b" type="uint"/>
  267. <field name="Vertex Shader Attribute Array select bits" size="8" start="14b" type="uint"/>
  268. <field name="Vertex Shader Total Attributes Size" size="8" start="15b" type="uint"/>
  269. <field name="Vertex Shader Code Address" size="32" start="16b" type="address"/>
  270. <!-- set up by the kernel -->
  271. <field name="Vertex Shader Uniforms Address" size="32" start="16b" type="uint"/>
  272. <field name="Coordinate Shader Number of Uniforms (not used currently)" size="16" start="24b" type="uint"/>
  273. <field name="Coordinate Shader Attribute Array select bits" size="8" start="26b" type="uint"/>
  274. <field name="Coordinate Shader Total Attributes Size" size="8" start="27b" type="uint"/>
  275. <field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/>
  276. <!-- set up by the kernel -->
  277. <field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="uint"/>
  278. </struct>
  279. <struct name="Attribute Record">
  280. <field name="Address" size="32" start="0b" type="address"/>
  281. <field name="Number of Bytes minus 1" size="8" start="4b" type="uint"/>
  282. <field name="Stride" size="8" start="5b" type="uint"/>
  283. <field name="Vertex Shader VPM offset" size="8" start="6b" type="uint"/>
  284. <field name="Coordinate Shader VPM offset" size="8" start="7b" type="uint"/>
  285. </struct>
  286. </vcxml>