Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. #ifndef GEN_RENDER_3D_XML
  2. #define GEN_RENDER_3D_XML
  3.  
  4. /* Autogenerated file, DO NOT EDIT manually!
  5.  
  6. This file was generated by the rules-ng-ng headergen tool in this git repository:
  7. https://github.com/olvaffe/envytools/
  8. git clone https://github.com/olvaffe/envytools.git
  9.  
  10. Copyright (C) 2014-2015 by the following authors:
  11. - Chia-I Wu <olvaffe@gmail.com> (olv)
  12.  
  13. Permission is hereby granted, free of charge, to any person obtaining
  14. a copy of this software and associated documentation files (the
  15. "Software"), to deal in the Software without restriction, including
  16. without limitation the rights to use, copy, modify, merge, publish,
  17. distribute, sublicense, and/or sell copies of the Software, and to
  18. permit persons to whom the Software is furnished to do so, subject to
  19. the following conditions:
  20.  
  21. The above copyright notice and this permission notice (including the
  22. next paragraph) shall be included in all copies or substantial
  23. portions of the Software.
  24.  
  25. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  26. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  27. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  28. IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
  29. LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  30. OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  31. WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  32. */
  33.  
  34.  
  35. enum gen_prim_type {
  36.     GEN6_3DPRIM_POINTLIST                                     = 0x1,
  37.     GEN6_3DPRIM_LINELIST                                      = 0x2,
  38.     GEN6_3DPRIM_LINESTRIP                                     = 0x3,
  39.     GEN6_3DPRIM_TRILIST                                       = 0x4,
  40.     GEN6_3DPRIM_TRISTRIP                                      = 0x5,
  41.     GEN6_3DPRIM_TRIFAN                                        = 0x6,
  42.     GEN6_3DPRIM_QUADLIST                                      = 0x7,
  43.     GEN6_3DPRIM_QUADSTRIP                                     = 0x8,
  44.     GEN6_3DPRIM_LINELIST_ADJ                                  = 0x9,
  45.     GEN6_3DPRIM_LINESTRIP_ADJ                                 = 0xa,
  46.     GEN6_3DPRIM_TRILIST_ADJ                                   = 0xb,
  47.     GEN6_3DPRIM_TRISTRIP_ADJ                                  = 0xc,
  48.     GEN6_3DPRIM_TRISTRIP_REVERSE                              = 0xd,
  49.     GEN6_3DPRIM_POLYGON                                       = 0xe,
  50.     GEN6_3DPRIM_RECTLIST                                      = 0xf,
  51.     GEN6_3DPRIM_LINELOOP                                      = 0x10,
  52.     GEN6_3DPRIM_POINTLIST_BF                                  = 0x11,
  53.     GEN6_3DPRIM_LINESTRIP_CONT                                = 0x12,
  54.     GEN6_3DPRIM_LINESTRIP_BF                                  = 0x13,
  55.     GEN6_3DPRIM_LINESTRIP_CONT_BF                             = 0x14,
  56.     GEN6_3DPRIM_TRIFAN_NOSTIPPLE                              = 0x16,
  57.     GEN7_3DPRIM_PATCHLIST_1                                   = 0x20,
  58.     GEN7_3DPRIM_PATCHLIST_2                                   = 0x21,
  59.     GEN7_3DPRIM_PATCHLIST_3                                   = 0x22,
  60.     GEN7_3DPRIM_PATCHLIST_4                                   = 0x23,
  61.     GEN7_3DPRIM_PATCHLIST_5                                   = 0x24,
  62.     GEN7_3DPRIM_PATCHLIST_6                                   = 0x25,
  63.     GEN7_3DPRIM_PATCHLIST_7                                   = 0x26,
  64.     GEN7_3DPRIM_PATCHLIST_8                                   = 0x27,
  65.     GEN7_3DPRIM_PATCHLIST_9                                   = 0x28,
  66.     GEN7_3DPRIM_PATCHLIST_10                                  = 0x29,
  67.     GEN7_3DPRIM_PATCHLIST_11                                  = 0x2a,
  68.     GEN7_3DPRIM_PATCHLIST_12                                  = 0x2b,
  69.     GEN7_3DPRIM_PATCHLIST_13                                  = 0x2c,
  70.     GEN7_3DPRIM_PATCHLIST_14                                  = 0x2d,
  71.     GEN7_3DPRIM_PATCHLIST_15                                  = 0x2e,
  72.     GEN7_3DPRIM_PATCHLIST_16                                  = 0x2f,
  73.     GEN7_3DPRIM_PATCHLIST_17                                  = 0x30,
  74.     GEN7_3DPRIM_PATCHLIST_18                                  = 0x31,
  75.     GEN7_3DPRIM_PATCHLIST_19                                  = 0x32,
  76.     GEN7_3DPRIM_PATCHLIST_20                                  = 0x33,
  77.     GEN7_3DPRIM_PATCHLIST_21                                  = 0x34,
  78.     GEN7_3DPRIM_PATCHLIST_22                                  = 0x35,
  79.     GEN7_3DPRIM_PATCHLIST_23                                  = 0x36,
  80.     GEN7_3DPRIM_PATCHLIST_24                                  = 0x37,
  81.     GEN7_3DPRIM_PATCHLIST_25                                  = 0x38,
  82.     GEN7_3DPRIM_PATCHLIST_26                                  = 0x39,
  83.     GEN7_3DPRIM_PATCHLIST_27                                  = 0x3a,
  84.     GEN7_3DPRIM_PATCHLIST_28                                  = 0x3b,
  85.     GEN7_3DPRIM_PATCHLIST_29                                  = 0x3c,
  86.     GEN7_3DPRIM_PATCHLIST_30                                  = 0x3d,
  87.     GEN7_3DPRIM_PATCHLIST_31                                  = 0x3e,
  88.     GEN7_3DPRIM_PATCHLIST_32                                  = 0x3f,
  89. };
  90.  
  91. enum gen_state_alignment {
  92.     GEN6_ALIGNMENT_COLOR_CALC_STATE                           = 0x40,
  93.     GEN6_ALIGNMENT_DEPTH_STENCIL_STATE                        = 0x40,
  94.     GEN6_ALIGNMENT_BLEND_STATE                                = 0x40,
  95.     GEN6_ALIGNMENT_CLIP_VIEWPORT                              = 0x20,
  96.     GEN6_ALIGNMENT_SF_VIEWPORT                                = 0x20,
  97.     GEN7_ALIGNMENT_SF_CLIP_VIEWPORT                           = 0x40,
  98.     GEN6_ALIGNMENT_CC_VIEWPORT                                = 0x20,
  99.     GEN6_ALIGNMENT_SCISSOR_RECT                               = 0x20,
  100.     GEN6_ALIGNMENT_BINDING_TABLE_STATE                        = 0x20,
  101.     GEN6_ALIGNMENT_SAMPLER_BORDER_COLOR_STATE                 = 0x20,
  102.     GEN8_ALIGNMENT_SAMPLER_BORDER_COLOR_STATE                 = 0x40,
  103.     GEN6_ALIGNMENT_SAMPLER_STATE                              = 0x20,
  104.     GEN6_ALIGNMENT_SURFACE_STATE                              = 0x20,
  105.     GEN8_ALIGNMENT_SURFACE_STATE                              = 0x40,
  106. };
  107.  
  108. enum gen_vf_component {
  109.     GEN6_VFCOMP_NOSTORE                                       = 0x0,
  110.     GEN6_VFCOMP_STORE_SRC                                     = 0x1,
  111.     GEN6_VFCOMP_STORE_0                                       = 0x2,
  112.     GEN6_VFCOMP_STORE_1_FP                                    = 0x3,
  113.     GEN6_VFCOMP_STORE_1_INT                                   = 0x4,
  114.     GEN6_VFCOMP_STORE_VID                                     = 0x5,
  115.     GEN6_VFCOMP_STORE_IID                                     = 0x6,
  116. };
  117.  
  118. enum gen_depth_format {
  119.     GEN6_ZFORMAT_D32_FLOAT_S8X24_UINT                         = 0x0,
  120.     GEN6_ZFORMAT_D32_FLOAT                                    = 0x1,
  121.     GEN6_ZFORMAT_D24_UNORM_S8_UINT                            = 0x2,
  122.     GEN6_ZFORMAT_D24_UNORM_X8_UINT                            = 0x3,
  123.     GEN6_ZFORMAT_D16_UNORM                                    = 0x5,
  124. };
  125.  
  126. #define GEN6_INTERP_NONPERSPECTIVE_SAMPLE                       (0x1 << 5)
  127. #define GEN6_INTERP_NONPERSPECTIVE_CENTROID                     (0x1 << 4)
  128. #define GEN6_INTERP_NONPERSPECTIVE_PIXEL                        (0x1 << 3)
  129. #define GEN6_INTERP_PERSPECTIVE_SAMPLE                          (0x1 << 2)
  130. #define GEN6_INTERP_PERSPECTIVE_CENTROID                        (0x1 << 1)
  131. #define GEN6_INTERP_PERSPECTIVE_PIXEL                           (0x1 << 0)
  132. #define GEN6_PS_DISPATCH_32                                     (0x1 << 2)
  133. #define GEN6_PS_DISPATCH_16                                     (0x1 << 1)
  134. #define GEN6_PS_DISPATCH_8                                      (0x1 << 0)
  135. #define GEN6_THREADDISP_SPF                                     (0x1 << 31)
  136. #define GEN6_THREADDISP_VME                                     (0x1 << 30)
  137. #define GEN6_THREADDISP_SAMPLER_COUNT__MASK                     0x38000000
  138. #define GEN6_THREADDISP_SAMPLER_COUNT__SHIFT                    27
  139. #define GEN7_THREADDISP_DENORMAL__MASK                          0x04000000
  140. #define GEN7_THREADDISP_DENORMAL__SHIFT                         26
  141. #define GEN7_THREADDISP_DENORMAL_FTZ                            (0x0 << 26)
  142. #define GEN7_THREADDISP_DENORMAL_RET                            (0x1 << 26)
  143. #define GEN6_THREADDISP_BINDING_TABLE_SIZE__MASK                0x03fc0000
  144. #define GEN6_THREADDISP_BINDING_TABLE_SIZE__SHIFT               18
  145. #define GEN6_THREADDISP_PRIORITY_HIGH                           (0x1 << 17)
  146. #define GEN6_THREADDISP_FP_MODE_ALT                             (0x1 << 16)
  147. #define GEN7_ROUNDING_MODE__MASK                                0x0000c000
  148. #define GEN7_ROUNDING_MODE__SHIFT                               14
  149. #define GEN7_ROUNDING_MODE_RTNE                                 (0x0 << 14)
  150. #define GEN7_ROUNDING_MODE_RU                                   (0x1 << 14)
  151. #define GEN7_ROUNDING_MODE_RD                                   (0x2 << 14)
  152. #define GEN7_ROUNDING_MODE_RTZ                                  (0x3 << 14)
  153. #define GEN6_THREADDISP_ILLEGAL_CODE_EXCEPTION                  (0x1 << 13)
  154. #define GEN75_THREADDISP_ACCESS_UAV                             (0x1 << 12)
  155. #define GEN6_THREADDISP_MASK_STACK_EXCEPTION                    (0x1 << 11)
  156. #define GEN6_THREADDISP_SOFTWARE_EXCEPTION                      (0x1 << 7)
  157. #define GEN6_THREADSCRATCH_ADDR__MASK                           0xfffffc00
  158. #define GEN6_THREADSCRATCH_ADDR__SHIFT                          10
  159. #define GEN6_THREADSCRATCH_ADDR__SHR                            10
  160. #define GEN6_THREADSCRATCH_SPACE_PER_THREAD__MASK               0x0000000f
  161. #define GEN6_THREADSCRATCH_SPACE_PER_THREAD__SHIFT              0
  162. #define GEN6_3DSTATE_VF_STATISTICS__SIZE                        1
  163.  
  164. #define GEN6_VF_STATS_DW0_ENABLE                                (0x1 << 0)
  165.  
  166. #define GEN6_3DSTATE_BINDING_TABLE_POINTERS__SIZE               4
  167.  
  168. #define GEN6_BINDING_TABLE_PTR_DW0_PS_CHANGED                   (0x1 << 12)
  169. #define GEN6_BINDING_TABLE_PTR_DW0_GS_CHANGED                   (0x1 << 9)
  170. #define GEN6_BINDING_TABLE_PTR_DW0_VS_CHANGED                   (0x1 << 8)
  171.  
  172.  
  173.  
  174.  
  175. #define GEN6_3DSTATE_SAMPLER_STATE_POINTERS__SIZE               4
  176.  
  177. #define GEN6_SAMPLER_PTR_DW0_PS_CHANGED                         (0x1 << 12)
  178. #define GEN6_SAMPLER_PTR_DW0_GS_CHANGED                         (0x1 << 9)
  179. #define GEN6_SAMPLER_PTR_DW0_VS_CHANGED                         (0x1 << 8)
  180.  
  181. #define GEN6_SAMPLER_PTR_DW1_VS_ADDR__MASK                      0xffffffe0
  182. #define GEN6_SAMPLER_PTR_DW1_VS_ADDR__SHIFT                     5
  183. #define GEN6_SAMPLER_PTR_DW1_VS_ADDR__SHR                       5
  184.  
  185. #define GEN6_SAMPLER_PTR_DW2_GS_ADDR__MASK                      0xffffffe0
  186. #define GEN6_SAMPLER_PTR_DW2_GS_ADDR__SHIFT                     5
  187. #define GEN6_SAMPLER_PTR_DW2_GS_ADDR__SHR                       5
  188.  
  189. #define GEN6_SAMPLER_PTR_DW3_PS_ADDR__MASK                      0xffffffe0
  190. #define GEN6_SAMPLER_PTR_DW3_PS_ADDR__SHIFT                     5
  191. #define GEN6_SAMPLER_PTR_DW3_PS_ADDR__SHR                       5
  192.  
  193. #define GEN6_3DSTATE_URB__SIZE                                  3
  194.  
  195.  
  196. #define GEN6_URB_DW1_VS_ENTRY_SIZE__MASK                        0x00ff0000
  197. #define GEN6_URB_DW1_VS_ENTRY_SIZE__SHIFT                       16
  198. #define GEN6_URB_DW1_VS_ENTRY_COUNT__MASK                       0x0000ffff
  199. #define GEN6_URB_DW1_VS_ENTRY_COUNT__SHIFT                      0
  200. #define GEN6_URB_DW1_VS_ENTRY_COUNT__ALIGN                      4
  201.  
  202. #define GEN6_URB_DW2_GS_ENTRY_COUNT__MASK                       0x0003ff00
  203. #define GEN6_URB_DW2_GS_ENTRY_COUNT__SHIFT                      8
  204. #define GEN6_URB_DW2_GS_ENTRY_COUNT__ALIGN                      4
  205. #define GEN6_URB_DW2_GS_ENTRY_SIZE__MASK                        0x00000007
  206. #define GEN6_URB_DW2_GS_ENTRY_SIZE__SHIFT                       0
  207.  
  208. #define GEN7_3DSTATE_URB_ANY__SIZE                              2
  209.  
  210.  
  211. #define GEN7_URB_DW1_OFFSET__MASK                               0x3e000000
  212. #define GEN7_URB_DW1_OFFSET__SHIFT                              25
  213. #define GEN7_URB_DW1_ENTRY_SIZE__MASK                           0x01ff0000
  214. #define GEN7_URB_DW1_ENTRY_SIZE__SHIFT                          16
  215. #define GEN7_URB_DW1_ENTRY_COUNT__MASK                          0x0000ffff
  216. #define GEN7_URB_DW1_ENTRY_COUNT__SHIFT                         0
  217.  
  218. #define GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_ANY__SIZE              2
  219.  
  220.  
  221. #define GEN7_PCB_ALLOC_DW1_OFFSET__MASK                         0x000f0000
  222. #define GEN7_PCB_ALLOC_DW1_OFFSET__SHIFT                        16
  223. #define GEN7_PCB_ALLOC_DW1_SIZE__MASK                           0x0000001f
  224. #define GEN7_PCB_ALLOC_DW1_SIZE__SHIFT                          0
  225.  
  226. #define GEN75_PCB_ALLOC_DW1_OFFSET__MASK                        0x001f0000
  227. #define GEN75_PCB_ALLOC_DW1_OFFSET__SHIFT                       16
  228. #define GEN75_PCB_ALLOC_DW1_SIZE__MASK                          0x0000003f
  229. #define GEN75_PCB_ALLOC_DW1_SIZE__SHIFT                         0
  230.  
  231. #define GEN6_3DSTATE_VERTEX_BUFFERS__SIZE                       133
  232.  
  233.  
  234.  
  235. #define GEN6_VB_DW0_INDEX__MASK                                 0xfc000000
  236. #define GEN6_VB_DW0_INDEX__SHIFT                                26
  237. #define GEN8_VB_DW0_MOCS__MASK                                  0x007f0000
  238. #define GEN8_VB_DW0_MOCS__SHIFT                                 16
  239. #define GEN6_VB_DW0_ACCESS__MASK                                0x00100000
  240. #define GEN6_VB_DW0_ACCESS__SHIFT                               20
  241. #define GEN6_VB_DW0_ACCESS_VERTEXDATA                           (0x0 << 20)
  242. #define GEN6_VB_DW0_ACCESS_INSTANCEDATA                         (0x1 << 20)
  243. #define GEN6_VB_DW0_MOCS__MASK                                  0x000f0000
  244. #define GEN6_VB_DW0_MOCS__SHIFT                                 16
  245. #define GEN7_VB_DW0_ADDR_MODIFIED                               (0x1 << 14)
  246. #define GEN6_VB_DW0_IS_NULL                                     (0x1 << 13)
  247. #define GEN6_VB_DW0_CACHE_INVALIDATE                            (0x1 << 12)
  248. #define GEN6_VB_DW0_PITCH__MASK                                 0x00000fff
  249. #define GEN6_VB_DW0_PITCH__SHIFT                                0
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257. #define GEN6_3DSTATE_VERTEX_ELEMENTS__SIZE                      69
  258.  
  259.  
  260.  
  261. #define GEN6_VE_DW0_VB_INDEX__MASK                              0xfc000000
  262. #define GEN6_VE_DW0_VB_INDEX__SHIFT                             26
  263. #define GEN6_VE_DW0_VALID                                       (0x1 << 25)
  264. #define GEN6_VE_DW0_FORMAT__MASK                                0x01ff0000
  265. #define GEN6_VE_DW0_FORMAT__SHIFT                               16
  266. #define GEN6_VE_DW0_EDGE_FLAG_ENABLE                            (0x1 << 15)
  267. #define GEN6_VE_DW0_VB_OFFSET__MASK                             0x000007ff
  268. #define GEN6_VE_DW0_VB_OFFSET__SHIFT                            0
  269. #define GEN75_VE_DW0_VB_OFFSET__MASK                            0x00000fff
  270. #define GEN75_VE_DW0_VB_OFFSET__SHIFT                           0
  271.  
  272. #define GEN6_VE_DW1_COMP0__MASK                                 0x70000000
  273. #define GEN6_VE_DW1_COMP0__SHIFT                                28
  274. #define GEN6_VE_DW1_COMP1__MASK                                 0x07000000
  275. #define GEN6_VE_DW1_COMP1__SHIFT                                24
  276. #define GEN6_VE_DW1_COMP2__MASK                                 0x00700000
  277. #define GEN6_VE_DW1_COMP2__SHIFT                                20
  278. #define GEN6_VE_DW1_COMP3__MASK                                 0x00070000
  279. #define GEN6_VE_DW1_COMP3__SHIFT                                16
  280.  
  281. #define GEN6_3DSTATE_INDEX_BUFFER__SIZE                         5
  282.  
  283. #define GEN6_IB_DW0_MOCS__MASK                                  0x0000f000
  284. #define GEN6_IB_DW0_MOCS__SHIFT                                 12
  285. #define GEN6_IB_DW0_CUT_INDEX_ENABLE                            (0x1 << 10)
  286. #define GEN6_IB_DW0_FORMAT__MASK                                0x00000300
  287. #define GEN6_IB_DW0_FORMAT__SHIFT                               8
  288. #define GEN6_IB_DW0_FORMAT_BYTE                                 (0x0 << 8)
  289. #define GEN6_IB_DW0_FORMAT_WORD                                 (0x1 << 8)
  290. #define GEN6_IB_DW0_FORMAT_DWORD                                (0x2 << 8)
  291.  
  292.  
  293.  
  294.  
  295.  
  296. #define GEN8_IB_DW1_FORMAT__MASK                                0x00000300
  297. #define GEN8_IB_DW1_FORMAT__SHIFT                               8
  298. #define GEN8_IB_DW1_FORMAT_BYTE                                 (0x0 << 8)
  299. #define GEN8_IB_DW1_FORMAT_WORD                                 (0x1 << 8)
  300. #define GEN8_IB_DW1_FORMAT_DWORD                                (0x2 << 8)
  301. #define GEN8_IB_DW1_MOCS__MASK                                  0x0000007f
  302. #define GEN8_IB_DW1_MOCS__SHIFT                                 0
  303.  
  304.  
  305.  
  306.  
  307. #define GEN75_3DSTATE_VF__SIZE                                  2
  308.  
  309. #define GEN75_VF_DW0_CUT_INDEX_ENABLE                           (0x1 << 8)
  310.  
  311.  
  312. #define GEN8_3DSTATE_VF_INSTANCING__SIZE                        3
  313.  
  314.  
  315. #define GEN8_INSTANCING_DW1_ENABLE                              (0x1 << 8)
  316. #define GEN8_INSTANCING_DW1_VB_INDEX__MASK                      0x0000003f
  317. #define GEN8_INSTANCING_DW1_VB_INDEX__SHIFT                     0
  318.  
  319.  
  320. #define GEN8_3DSTATE_VF_SGVS__SIZE                              2
  321.  
  322.  
  323. #define GEN8_SGVS_DW1_IID_ENABLE                                (0x1 << 31)
  324. #define GEN8_SGVS_DW1_IID_VE_COMP__MASK                         0x60000000
  325. #define GEN8_SGVS_DW1_IID_VE_COMP__SHIFT                        29
  326. #define GEN8_SGVS_DW1_IID_VE_INDEX__MASK                        0x003f0000
  327. #define GEN8_SGVS_DW1_IID_VE_INDEX__SHIFT                       16
  328. #define GEN8_SGVS_DW1_VID_ENABLE                                (0x1 << 15)
  329. #define GEN8_SGVS_DW1_VID_VE_COMP__MASK                         0x00006000
  330. #define GEN8_SGVS_DW1_VID_VE_COMP__SHIFT                        13
  331. #define GEN8_SGVS_DW1_VID_VE_INDEX__MASK                        0x0000003f
  332. #define GEN8_SGVS_DW1_VID_VE_INDEX__SHIFT                       0
  333.  
  334. #define GEN8_3DSTATE_VF_TOPOLOGY__SIZE                          2
  335.  
  336.  
  337. #define GEN8_TOPOLOGY_DW1_TYPE__MASK                            0x0000003f
  338. #define GEN8_TOPOLOGY_DW1_TYPE__SHIFT                           0
  339.  
  340. #define GEN6_3DSTATE_VIEWPORT_STATE_POINTERS__SIZE              4
  341.  
  342. #define GEN6_VP_PTR_DW0_CC_CHANGED                              (0x1 << 12)
  343. #define GEN6_VP_PTR_DW0_SF_CHANGED                              (0x1 << 11)
  344. #define GEN6_VP_PTR_DW0_CLIP_CHANGED                            (0x1 << 10)
  345.  
  346. #define GEN6_VP_PTR_DW1_CLIP_ADDR__MASK                         0xffffffe0
  347. #define GEN6_VP_PTR_DW1_CLIP_ADDR__SHIFT                        5
  348. #define GEN6_VP_PTR_DW1_CLIP_ADDR__SHR                          5
  349.  
  350. #define GEN6_VP_PTR_DW2_SF_ADDR__MASK                           0xffffffe0
  351. #define GEN6_VP_PTR_DW2_SF_ADDR__SHIFT                          5
  352. #define GEN6_VP_PTR_DW2_SF_ADDR__SHR                            5
  353.  
  354. #define GEN6_VP_PTR_DW3_CC_ADDR__MASK                           0xffffffe0
  355. #define GEN6_VP_PTR_DW3_CC_ADDR__SHIFT                          5
  356. #define GEN6_VP_PTR_DW3_CC_ADDR__SHR                            5
  357.  
  358. #define GEN6_3DSTATE_CC_STATE_POINTERS__SIZE                    4
  359.  
  360.  
  361. #define GEN6_CC_PTR_DW1_BLEND_CHANGED                           (0x1 << 0)
  362. #define GEN6_CC_PTR_DW1_BLEND_ADDR__MASK                        0xffffffc0
  363. #define GEN6_CC_PTR_DW1_BLEND_ADDR__SHIFT                       6
  364. #define GEN6_CC_PTR_DW1_BLEND_ADDR__SHR                         6
  365.  
  366. #define GEN6_CC_PTR_DW2_ZS_CHANGED                              (0x1 << 0)
  367. #define GEN6_CC_PTR_DW2_ZS_ADDR__MASK                           0xffffffc0
  368. #define GEN6_CC_PTR_DW2_ZS_ADDR__SHIFT                          6
  369. #define GEN6_CC_PTR_DW2_ZS_ADDR__SHR                            6
  370.  
  371. #define GEN6_CC_PTR_DW3_CC_CHANGED                              (0x1 << 0)
  372. #define GEN6_CC_PTR_DW3_CC_ADDR__MASK                           0xffffffc0
  373. #define GEN6_CC_PTR_DW3_CC_ADDR__SHIFT                          6
  374. #define GEN6_CC_PTR_DW3_CC_ADDR__SHR                            6
  375.  
  376. #define GEN6_3DSTATE_SCISSOR_STATE_POINTERS__SIZE               2
  377.  
  378.  
  379. #define GEN6_SCISSOR_PTR_DW1_ADDR__MASK                         0xffffffe0
  380. #define GEN6_SCISSOR_PTR_DW1_ADDR__SHIFT                        5
  381. #define GEN6_SCISSOR_PTR_DW1_ADDR__SHR                          5
  382.  
  383. #define GEN7_3DSTATE_POINTERS_ANY__SIZE                         2
  384.  
  385.  
  386.  
  387. #define GEN6_3DSTATE_VS__SIZE                                   9
  388.  
  389.  
  390. #define GEN6_VS_DW1_KERNEL_ADDR__MASK                           0xffffffc0
  391. #define GEN6_VS_DW1_KERNEL_ADDR__SHIFT                          6
  392. #define GEN6_VS_DW1_KERNEL_ADDR__SHR                            6
  393.  
  394.  
  395.  
  396. #define GEN6_VS_DW4_URB_GRF_START__MASK                         0x01f00000
  397. #define GEN6_VS_DW4_URB_GRF_START__SHIFT                        20
  398. #define GEN6_VS_DW4_URB_READ_LEN__MASK                          0x0001f800
  399. #define GEN6_VS_DW4_URB_READ_LEN__SHIFT                         11
  400. #define GEN6_VS_DW4_URB_READ_OFFSET__MASK                       0x000003f0
  401. #define GEN6_VS_DW4_URB_READ_OFFSET__SHIFT                      4
  402.  
  403. #define GEN6_VS_DW5_MAX_THREADS__MASK                           0xfe000000
  404. #define GEN6_VS_DW5_MAX_THREADS__SHIFT                          25
  405. #define GEN75_VS_DW5_MAX_THREADS__MASK                          0xff800000
  406. #define GEN75_VS_DW5_MAX_THREADS__SHIFT                         23
  407. #define GEN6_VS_DW5_STATISTICS                                  (0x1 << 10)
  408. #define GEN6_VS_DW5_CACHE_DISABLE                               (0x1 << 1)
  409. #define GEN6_VS_DW5_VS_ENABLE                                   (0x1 << 0)
  410.  
  411.  
  412.  
  413. #define GEN8_VS_DW1_KERNEL_ADDR__MASK                           0xffffffc0
  414. #define GEN8_VS_DW1_KERNEL_ADDR__SHIFT                          6
  415. #define GEN8_VS_DW1_KERNEL_ADDR__SHR                            6
  416.  
  417.  
  418.  
  419.  
  420.  
  421. #define GEN8_VS_DW6_URB_GRF_START__MASK                         0x01f00000
  422. #define GEN8_VS_DW6_URB_GRF_START__SHIFT                        20
  423. #define GEN8_VS_DW6_URB_READ_LEN__MASK                          0x0001f800
  424. #define GEN8_VS_DW6_URB_READ_LEN__SHIFT                         11
  425. #define GEN8_VS_DW6_URB_READ_OFFSET__MASK                       0x000003f0
  426. #define GEN8_VS_DW6_URB_READ_OFFSET__SHIFT                      4
  427.  
  428. #define GEN8_VS_DW7_MAX_THREADS__MASK                           0xff800000
  429. #define GEN8_VS_DW7_MAX_THREADS__SHIFT                          23
  430. #define GEN8_VS_DW7_STATISTICS                                  (0x1 << 10)
  431. #define GEN8_VS_DW7_SIMD8_ENABLE                                (0x1 << 2)
  432. #define GEN8_VS_DW7_CACHE_DISABLE                               (0x1 << 1)
  433. #define GEN8_VS_DW7_VS_ENABLE                                   (0x1 << 0)
  434.  
  435. #define GEN8_VS_DW8_URB_WRITE_OFFSET__MASK                      0x03e00000
  436. #define GEN8_VS_DW8_URB_WRITE_OFFSET__SHIFT                     21
  437. #define GEN8_VS_DW8_URB_WRITE_LEN__MASK                         0x001f0000
  438. #define GEN8_VS_DW8_URB_WRITE_LEN__SHIFT                        16
  439. #define GEN8_VS_DW8_UCP_CLIP_ENABLES__MASK                      0x0000ff00
  440. #define GEN8_VS_DW8_UCP_CLIP_ENABLES__SHIFT                     8
  441.  
  442. #define GEN7_3DSTATE_HS__SIZE                                   9
  443.  
  444.  
  445. #define GEN7_HS_DW1_DISPATCH_MAX_THREADS__MASK                  0x0000007f
  446. #define GEN7_HS_DW1_DISPATCH_MAX_THREADS__SHIFT                 0
  447. #define GEN75_HS_DW1_DISPATCH_MAX_THREADS__MASK                 0x000000ff
  448. #define GEN75_HS_DW1_DISPATCH_MAX_THREADS__SHIFT                0
  449.  
  450. #define GEN7_HS_DW2_HS_ENABLE                                   (0x1 << 31)
  451. #define GEN7_HS_DW2_STATISTICS                                  (0x1 << 29)
  452. #define GEN7_HS_DW2_INSTANCE_COUNT__MASK                        0x0000000f
  453. #define GEN7_HS_DW2_INSTANCE_COUNT__SHIFT                       0
  454.  
  455. #define GEN7_HS_DW3_KERNEL_ADDR__MASK                           0xffffffc0
  456. #define GEN7_HS_DW3_KERNEL_ADDR__SHIFT                          6
  457. #define GEN7_HS_DW3_KERNEL_ADDR__SHR                            6
  458.  
  459.  
  460. #define GEN7_HS_DW5_SPF                                         (0x1 << 27)
  461. #define GEN7_HS_DW5_VME                                         (0x1 << 26)
  462. #define GEN75_HS_DW5_ACCESS_UAV                                 (0x1 << 25)
  463. #define GEN7_HS_DW5_INCLUDE_VERTEX_HANDLES                      (0x1 << 24)
  464. #define GEN7_HS_DW5_URB_GRF_START__MASK                         0x00f80000
  465. #define GEN7_HS_DW5_URB_GRF_START__SHIFT                        19
  466. #define GEN7_HS_DW5_URB_READ_LEN__MASK                          0x0001f800
  467. #define GEN7_HS_DW5_URB_READ_LEN__SHIFT                         11
  468. #define GEN7_HS_DW5_URB_READ_OFFSET__MASK                       0x000003f0
  469. #define GEN7_HS_DW5_URB_READ_OFFSET__SHIFT                      4
  470.  
  471. #define GEN7_HS_DW6_URB_SEMAPHORE_ADDR__MASK                    0x00000fff
  472. #define GEN7_HS_DW6_URB_SEMAPHORE_ADDR__SHIFT                   0
  473. #define GEN7_HS_DW6_URB_SEMAPHORE_ADDR__SHR                     6
  474. #define GEN75_HS_DW6_URB_SEMAPHORE_ADDR__MASK                   0x00001fff
  475. #define GEN75_HS_DW6_URB_SEMAPHORE_ADDR__SHIFT                  0
  476. #define GEN75_HS_DW6_URB_SEMAPHORE_ADDR__SHR                    6
  477.  
  478.  
  479.  
  480. #define GEN8_HS_DW1_DISPATCH_MAX_THREADS__MASK                  0x000000ff
  481. #define GEN8_HS_DW1_DISPATCH_MAX_THREADS__SHIFT                 0
  482.  
  483. #define GEN8_HS_DW2_HS_ENABLE                                   (0x1 << 31)
  484. #define GEN8_HS_DW2_STATISTICS                                  (0x1 << 29)
  485. #define GEN8_HS_DW2_INSTANCE_COUNT__MASK                        0x0000000f
  486. #define GEN8_HS_DW2_INSTANCE_COUNT__SHIFT                       0
  487.  
  488. #define GEN8_HS_DW3_KERNEL_ADDR__MASK                           0xffffffc0
  489. #define GEN8_HS_DW3_KERNEL_ADDR__SHIFT                          6
  490. #define GEN8_HS_DW3_KERNEL_ADDR__SHR                            6
  491.  
  492.  
  493.  
  494.  
  495. #define GEN8_HS_DW7_SPF                                         (0x1 << 27)
  496. #define GEN8_HS_DW7_VME                                         (0x1 << 26)
  497. #define GEN8_HS_DW7_ACCESS_UAV                                  (0x1 << 25)
  498. #define GEN8_HS_DW7_INCLUDE_VERTEX_HANDLES                      (0x1 << 24)
  499. #define GEN8_HS_DW7_URB_GRF_START__MASK                         0x00f80000
  500. #define GEN8_HS_DW7_URB_GRF_START__SHIFT                        19
  501. #define GEN8_HS_DW7_URB_READ_LEN__MASK                          0x0001f800
  502. #define GEN8_HS_DW7_URB_READ_LEN__SHIFT                         11
  503. #define GEN8_HS_DW7_URB_READ_OFFSET__MASK                       0x000003f0
  504. #define GEN8_HS_DW7_URB_READ_OFFSET__SHIFT                      4
  505.  
  506. #define GEN8_HS_DW8_URB_SEMAPHORE_ADDR__MASK                    0x00001fff
  507. #define GEN8_HS_DW8_URB_SEMAPHORE_ADDR__SHIFT                   0
  508. #define GEN8_HS_DW8_URB_SEMAPHORE_ADDR__SHR                     6
  509.  
  510. #define GEN7_3DSTATE_TE__SIZE                                   4
  511.  
  512.  
  513. #define GEN7_TE_DW1_PARTITIONING__MASK                          0x00003000
  514. #define GEN7_TE_DW1_PARTITIONING__SHIFT                         12
  515. #define GEN7_TE_DW1_PARTITIONING_INTEGER                        (0x0 << 12)
  516. #define GEN7_TE_DW1_PARTITIONING_ODD_FRACTIONAL                 (0x1 << 12)
  517. #define GEN7_TE_DW1_PARTITIONING_EVEN_FRACTIONAL                (0x2 << 12)
  518. #define GEN7_TE_DW1_OUTPUT_TOPO__MASK                           0x00000300
  519. #define GEN7_TE_DW1_OUTPUT_TOPO__SHIFT                          8
  520. #define GEN7_TE_DW1_OUTPUT_TOPO_POINT                           (0x0 << 8)
  521. #define GEN7_TE_DW1_OUTPUT_TOPO_LINE                            (0x1 << 8)
  522. #define GEN7_TE_DW1_OUTPUT_TOPO_TRI_CW                          (0x2 << 8)
  523. #define GEN7_TE_DW1_OUTPUT_TOPO_TRI_CCW                         (0x3 << 8)
  524. #define GEN7_TE_DW1_DOMAIN__MASK                                0x00000030
  525. #define GEN7_TE_DW1_DOMAIN__SHIFT                               4
  526. #define GEN7_TE_DW1_DOMAIN_QUAD                                 (0x0 << 4)
  527. #define GEN7_TE_DW1_DOMAIN_TRI                                  (0x1 << 4)
  528. #define GEN7_TE_DW1_DOMAIN_ISOLINE                              (0x2 << 4)
  529. #define GEN7_TE_DW1_MODE__MASK                                  0x00000006
  530. #define GEN7_TE_DW1_MODE__SHIFT                                 1
  531. #define GEN7_TE_DW1_MODE_HW                                     (0x0 << 1)
  532. #define GEN7_TE_DW1_MODE_SW                                     (0x1 << 1)
  533. #define GEN7_TE_DW1_TE_ENABLE                                   (0x1 << 0)
  534.  
  535.  
  536.  
  537. #define GEN7_3DSTATE_DS__SIZE                                   11
  538.  
  539.  
  540. #define GEN7_DS_DW1_KERNEL_ADDR__MASK                           0xffffffc0
  541. #define GEN7_DS_DW1_KERNEL_ADDR__SHIFT                          6
  542. #define GEN7_DS_DW1_KERNEL_ADDR__SHR                            6
  543.  
  544.  
  545.  
  546. #define GEN7_DS_DW4_URB_GRF_START__MASK                         0x01f00000
  547. #define GEN7_DS_DW4_URB_GRF_START__SHIFT                        20
  548. #define GEN7_DS_DW4_URB_READ_LEN__MASK                          0x0003f800
  549. #define GEN7_DS_DW4_URB_READ_LEN__SHIFT                         11
  550. #define GEN7_DS_DW4_URB_READ_OFFSET__MASK                       0x000003f0
  551. #define GEN7_DS_DW4_URB_READ_OFFSET__SHIFT                      4
  552.  
  553. #define GEN7_DS_DW5_MAX_THREADS__MASK                           0xfe000000
  554. #define GEN7_DS_DW5_MAX_THREADS__SHIFT                          25
  555. #define GEN75_DS_DW5_MAX_THREADS__MASK                          0x3fe00000
  556. #define GEN75_DS_DW5_MAX_THREADS__SHIFT                         21
  557. #define GEN7_DS_DW5_STATISTICS                                  (0x1 << 10)
  558. #define GEN7_DS_DW5_COMPUTE_W                                   (0x1 << 2)
  559. #define GEN7_DS_DW5_CACHE_DISABLE                               (0x1 << 1)
  560. #define GEN7_DS_DW5_DS_ENABLE                                   (0x1 << 0)
  561.  
  562.  
  563.  
  564. #define GEN8_DS_DW1_KERNEL_ADDR__MASK                           0xffffffc0
  565. #define GEN8_DS_DW1_KERNEL_ADDR__SHIFT                          6
  566. #define GEN8_DS_DW1_KERNEL_ADDR__SHR                            6
  567.  
  568.  
  569.  
  570.  
  571.  
  572. #define GEN8_DS_DW6_URB_GRF_START__MASK                         0x01f00000
  573. #define GEN8_DS_DW6_URB_GRF_START__SHIFT                        20
  574. #define GEN8_DS_DW6_URB_READ_LEN__MASK                          0x0003f800
  575. #define GEN8_DS_DW6_URB_READ_LEN__SHIFT                         11
  576. #define GEN8_DS_DW6_URB_READ_OFFSET__MASK                       0x000003f0
  577. #define GEN8_DS_DW6_URB_READ_OFFSET__SHIFT                      4
  578.  
  579. #define GEN8_DS_DW7_MAX_THREADS__MASK                           0x3fe00000
  580. #define GEN8_DS_DW7_MAX_THREADS__SHIFT                          21
  581. #define GEN8_DS_DW7_STATISTICS                                  (0x1 << 10)
  582. #define GEN8_DS_DW7_COMPUTE_W                                   (0x1 << 2)
  583. #define GEN8_DS_DW7_CACHE_DISABLE                               (0x1 << 1)
  584. #define GEN8_DS_DW7_DS_ENABLE                                   (0x1 << 0)
  585.  
  586. #define GEN8_DS_DW8_URB_WRITE_OFFSET__MASK                      0x03e00000
  587. #define GEN8_DS_DW8_URB_WRITE_OFFSET__SHIFT                     21
  588. #define GEN8_DS_DW8_URB_WRITE_LEN__MASK                         0x001f0000
  589. #define GEN8_DS_DW8_URB_WRITE_LEN__SHIFT                        16
  590. #define GEN8_DS_DW8_UCP_CLIP_ENABLES__MASK                      0x0000ff00
  591. #define GEN8_DS_DW8_UCP_CLIP_ENABLES__SHIFT                     8
  592.  
  593.  
  594.  
  595. #define GEN6_3DSTATE_GS__SIZE                                   10
  596.  
  597.  
  598. #define GEN6_GS_DW1_KERNEL_ADDR__MASK                           0xffffffc0
  599. #define GEN6_GS_DW1_KERNEL_ADDR__SHIFT                          6
  600. #define GEN6_GS_DW1_KERNEL_ADDR__SHR                            6
  601.  
  602.  
  603.  
  604. #define GEN6_GS_DW4_URB_READ_LEN__MASK                          0x0001f800
  605. #define GEN6_GS_DW4_URB_READ_LEN__SHIFT                         11
  606. #define GEN6_GS_DW4_URB_READ_OFFSET__MASK                       0x000003f0
  607. #define GEN6_GS_DW4_URB_READ_OFFSET__SHIFT                      4
  608. #define GEN6_GS_DW4_URB_GRF_START__MASK                         0x0000000f
  609. #define GEN6_GS_DW4_URB_GRF_START__SHIFT                        0
  610.  
  611. #define GEN6_GS_DW5_MAX_THREADS__MASK                           0xfe000000
  612. #define GEN6_GS_DW5_MAX_THREADS__SHIFT                          25
  613. #define GEN6_GS_DW5_STATISTICS                                  (0x1 << 10)
  614. #define GEN6_GS_DW5_SO_STATISTICS                               (0x1 << 9)
  615. #define GEN6_GS_DW5_RENDER_ENABLE                               (0x1 << 8)
  616.  
  617. #define GEN6_GS_DW6_REORDER_ENABLE                              (0x1 << 30)
  618. #define GEN6_GS_DW6_DISCARD_ADJACENCY                           (0x1 << 29)
  619. #define GEN6_GS_DW6_SVBI_PAYLOAD_ENABLE                         (0x1 << 28)
  620. #define GEN6_GS_DW6_SVBI_POST_INC_ENABLE                        (0x1 << 27)
  621. #define GEN6_GS_DW6_SVBI_POST_INC_VAL__MASK                     0x03ff0000
  622. #define GEN6_GS_DW6_SVBI_POST_INC_VAL__SHIFT                    16
  623. #define GEN6_GS_DW6_GS_ENABLE                                   (0x1 << 15)
  624.  
  625.  
  626.  
  627. #define GEN7_GS_DW1_KERNEL_ADDR__MASK                           0xffffffc0
  628. #define GEN7_GS_DW1_KERNEL_ADDR__SHIFT                          6
  629. #define GEN7_GS_DW1_KERNEL_ADDR__SHR                            6
  630.  
  631.  
  632.  
  633. #define GEN7_GS_DW4_OUTPUT_SIZE__MASK                           0x1f800000
  634. #define GEN7_GS_DW4_OUTPUT_SIZE__SHIFT                          23
  635. #define GEN7_GS_DW4_OUTPUT_TOPO__MASK                           0x007e0000
  636. #define GEN7_GS_DW4_OUTPUT_TOPO__SHIFT                          17
  637. #define GEN7_GS_DW4_URB_READ_LEN__MASK                          0x0001f800
  638. #define GEN7_GS_DW4_URB_READ_LEN__SHIFT                         11
  639. #define GEN7_GS_DW4_INCLUDE_VERTEX_HANDLES                      (0x1 << 10)
  640. #define GEN7_GS_DW4_URB_READ_OFFSET__MASK                       0x000003f0
  641. #define GEN7_GS_DW4_URB_READ_OFFSET__SHIFT                      4
  642. #define GEN7_GS_DW4_URB_GRF_START__MASK                         0x0000000f
  643. #define GEN7_GS_DW4_URB_GRF_START__SHIFT                        0
  644.  
  645. #define GEN7_GS_DW5_MAX_THREADS__MASK                           0xfe000000
  646. #define GEN7_GS_DW5_MAX_THREADS__SHIFT                          25
  647. #define GEN7_GS_DW5_GSCTRL__MASK                                0x01000000
  648. #define GEN7_GS_DW5_GSCTRL__SHIFT                               24
  649. #define GEN7_GS_DW5_GSCTRL_CUT                                  (0x0 << 24)
  650. #define GEN7_GS_DW5_GSCTRL_SID                                  (0x1 << 24)
  651. #define GEN75_GS_DW5_MAX_THREADS__MASK                          0xff000000
  652. #define GEN75_GS_DW5_MAX_THREADS__SHIFT                         24
  653. #define GEN7_GS_DW5_CONTROL_DATA_HEADER_SIZE__MASK              0x00f00000
  654. #define GEN7_GS_DW5_CONTROL_DATA_HEADER_SIZE__SHIFT             20
  655. #define GEN7_GS_DW5_INSTANCE_CONTROL__MASK                      0x000f8000
  656. #define GEN7_GS_DW5_INSTANCE_CONTROL__SHIFT                     15
  657. #define GEN7_GS_DW5_DEFAULT_STREAM_ID__MASK                     0x00006000
  658. #define GEN7_GS_DW5_DEFAULT_STREAM_ID__SHIFT                    13
  659. #define GEN7_GS_DW5_DISPATCH_MODE__MASK                         0x00001800
  660. #define GEN7_GS_DW5_DISPATCH_MODE__SHIFT                        11
  661. #define GEN7_GS_DW5_DISPATCH_MODE_SINGLE                        (0x0 << 11)
  662. #define GEN7_GS_DW5_DISPATCH_MODE_DUAL_INSTANCE                 (0x1 << 11)
  663. #define GEN7_GS_DW5_DISPATCH_MODE_DUAL_OBJECT                   (0x2 << 11)
  664. #define GEN7_GS_DW5_STATISTICS                                  (0x1 << 10)
  665. #define GEN7_GS_DW5_INVOCATION_INCR__MASK                       0x000003e0
  666. #define GEN7_GS_DW5_INVOCATION_INCR__SHIFT                      5
  667. #define GEN7_GS_DW5_INCLUDE_PRIMITIVE_ID                        (0x1 << 4)
  668. #define GEN7_GS_DW5_HINT                                        (0x1 << 3)
  669. #define GEN7_GS_DW5_REORDER_ENABLE                              (0x1 << 2)
  670. #define GEN75_GS_DW5_REORDER__MASK                              0x00000004
  671. #define GEN75_GS_DW5_REORDER__SHIFT                             2
  672. #define GEN75_GS_DW5_REORDER_LEADING                            (0x0 << 2)
  673. #define GEN75_GS_DW5_REORDER_TRAILING                           (0x1 << 2)
  674. #define GEN7_GS_DW5_DISCARD_ADJACENCY                           (0x1 << 1)
  675. #define GEN7_GS_DW5_GS_ENABLE                                   (0x1 << 0)
  676.  
  677. #define GEN75_GS_DW6_GSCTRL__MASK                               0x80000000
  678. #define GEN75_GS_DW6_GSCTRL__SHIFT                              31
  679. #define GEN75_GS_DW6_GSCTRL_CUT                                 (0x0 << 31)
  680. #define GEN75_GS_DW6_GSCTRL_SID                                 (0x1 << 31)
  681. #define GEN7_GS_DW6_URB_SEMAPHORE_ADDR__MASK                    0x00000fff
  682. #define GEN7_GS_DW6_URB_SEMAPHORE_ADDR__SHIFT                   0
  683. #define GEN7_GS_DW6_URB_SEMAPHORE_ADDR__SHR                     6
  684. #define GEN75_GS_DW6_URB_SEMAPHORE_ADDR__MASK                   0x00001fff
  685. #define GEN75_GS_DW6_URB_SEMAPHORE_ADDR__SHIFT                  0
  686. #define GEN75_GS_DW6_URB_SEMAPHORE_ADDR__SHR                    6
  687.  
  688.  
  689.  
  690. #define GEN8_GS_DW1_KERNEL_ADDR__MASK                           0xffffffc0
  691. #define GEN8_GS_DW1_KERNEL_ADDR__SHIFT                          6
  692. #define GEN8_GS_DW1_KERNEL_ADDR__SHR                            6
  693.  
  694.  
  695. #define GEN8_GS_DW3_EXPECTED_VERTEX_COUNT__MASK                 0x0000007f
  696. #define GEN8_GS_DW3_EXPECTED_VERTEX_COUNT__SHIFT                0
  697.  
  698.  
  699.  
  700. #define GEN8_GS_DW6_OUTPUT_SIZE__MASK                           0x1f800000
  701. #define GEN8_GS_DW6_OUTPUT_SIZE__SHIFT                          23
  702. #define GEN8_GS_DW6_OUTPUT_TOPO__MASK                           0x007e0000
  703. #define GEN8_GS_DW6_OUTPUT_TOPO__SHIFT                          17
  704. #define GEN8_GS_DW6_URB_READ_LEN__MASK                          0x0001f800
  705. #define GEN8_GS_DW6_URB_READ_LEN__SHIFT                         11
  706. #define GEN8_GS_DW6_INCLUDE_VERTEX_HANDLES                      (0x1 << 10)
  707. #define GEN8_GS_DW6_URB_READ_OFFSET__MASK                       0x000003f0
  708. #define GEN8_GS_DW6_URB_READ_OFFSET__SHIFT                      4
  709. #define GEN8_GS_DW6_URB_GRF_START__MASK                         0x0000000f
  710. #define GEN8_GS_DW6_URB_GRF_START__SHIFT                        0
  711.  
  712. #define GEN8_GS_DW7_MAX_THREADS__MASK                           0xff000000
  713. #define GEN8_GS_DW7_MAX_THREADS__SHIFT                          24
  714. #define GEN8_GS_DW7_CONTROL_DATA_HEADER_SIZE__MASK              0x00f00000
  715. #define GEN8_GS_DW7_CONTROL_DATA_HEADER_SIZE__SHIFT             20
  716. #define GEN8_GS_DW7_INSTANCE_CONTROL__MASK                      0x000f8000
  717. #define GEN8_GS_DW7_INSTANCE_CONTROL__SHIFT                     15
  718. #define GEN8_GS_DW7_DEFAULT_STREAM_ID__MASK                     0x00006000
  719. #define GEN8_GS_DW7_DEFAULT_STREAM_ID__SHIFT                    13
  720. #define GEN8_GS_DW7_DISPATCH_MODE__MASK                         0x00001800
  721. #define GEN8_GS_DW7_DISPATCH_MODE__SHIFT                        11
  722. #define GEN8_GS_DW7_DISPATCH_MODE_SINGLE                        (0x0 << 11)
  723. #define GEN8_GS_DW7_DISPATCH_MODE_DUAL_INSTANCE                 (0x1 << 11)
  724. #define GEN8_GS_DW7_DISPATCH_MODE_DUAL_OBJECT                   (0x2 << 11)
  725. #define GEN8_GS_DW7_STATISTICS                                  (0x1 << 10)
  726. #define GEN8_GS_DW7_INVOCATION_INCR__MASK                       0x000003e0
  727. #define GEN8_GS_DW7_INVOCATION_INCR__SHIFT                      5
  728. #define GEN8_GS_DW7_INCLUDE_PRIMITIVE_ID                        (0x1 << 4)
  729. #define GEN8_GS_DW7_HINT                                        (0x1 << 3)
  730. #define GEN8_GS_DW7_REORDER__MASK                               0x00000004
  731. #define GEN8_GS_DW7_REORDER__SHIFT                              2
  732. #define GEN8_GS_DW7_REORDER_LEADING                             (0x0 << 2)
  733. #define GEN8_GS_DW7_REORDER_TRAILING                            (0x1 << 2)
  734. #define GEN8_GS_DW7_DISCARD_ADJACENCY                           (0x1 << 1)
  735. #define GEN8_GS_DW7_GS_ENABLE                                   (0x1 << 0)
  736.  
  737. #define GEN8_GS_DW8_GSCTRL__MASK                                0x80000000
  738. #define GEN8_GS_DW8_GSCTRL__SHIFT                               31
  739. #define GEN8_GS_DW8_GSCTRL_CUT                                  (0x0 << 31)
  740. #define GEN8_GS_DW8_GSCTRL_SID                                  (0x1 << 31)
  741. #define GEN8_GS_DW8_URB_SEMAPHORE_ADDR__MASK                    0x00001fff
  742. #define GEN8_GS_DW8_URB_SEMAPHORE_ADDR__SHIFT                   0
  743. #define GEN8_GS_DW8_URB_SEMAPHORE_ADDR__SHR                     6
  744. #define GEN9_GS_DW8_MAX_THREADS__MASK                           0x00001fff
  745. #define GEN9_GS_DW8_MAX_THREADS__SHIFT                          0
  746.  
  747. #define GEN8_GS_DW9_URB_WRITE_OFFSET__MASK                      0x03e00000
  748. #define GEN8_GS_DW9_URB_WRITE_OFFSET__SHIFT                     21
  749. #define GEN8_GS_DW9_URB_WRITE_LEN__MASK                         0x001f0000
  750. #define GEN8_GS_DW9_URB_WRITE_LEN__SHIFT                        16
  751. #define GEN8_GS_DW9_UCP_CLIP_ENABLES__MASK                      0x0000ff00
  752. #define GEN8_GS_DW9_UCP_CLIP_ENABLES__SHIFT                     8
  753.  
  754. #define GEN7_3DSTATE_STREAMOUT__SIZE                            5
  755.  
  756.  
  757. #define GEN7_SO_DW1_SO_ENABLE                                   (0x1 << 31)
  758. #define GEN7_SO_DW1_RENDER_DISABLE                              (0x1 << 30)
  759. #define GEN7_SO_DW1_RENDER_STREAM_SELECT__MASK                  0x18000000
  760. #define GEN7_SO_DW1_RENDER_STREAM_SELECT__SHIFT                 27
  761. #define GEN7_SO_DW1_REORDER__MASK                               0x04000000
  762. #define GEN7_SO_DW1_REORDER__SHIFT                              26
  763. #define GEN7_SO_DW1_REORDER_LEADING                             (0x0 << 26)
  764. #define GEN7_SO_DW1_REORDER_TRAILING                            (0x1 << 26)
  765. #define GEN7_SO_DW1_STATISTICS                                  (0x1 << 25)
  766. #define GEN7_SO_DW1_BUFFER_ENABLES__MASK                        0x00000f00
  767. #define GEN7_SO_DW1_BUFFER_ENABLES__SHIFT                       8
  768.  
  769. #define GEN7_SO_DW2_STREAM3_READ_OFFSET__MASK                   0x20000000
  770. #define GEN7_SO_DW2_STREAM3_READ_OFFSET__SHIFT                  29
  771. #define GEN7_SO_DW2_STREAM3_READ_LEN__MASK                      0x1f000000
  772. #define GEN7_SO_DW2_STREAM3_READ_LEN__SHIFT                     24
  773. #define GEN7_SO_DW2_STREAM2_READ_OFFSET__MASK                   0x00200000
  774. #define GEN7_SO_DW2_STREAM2_READ_OFFSET__SHIFT                  21
  775. #define GEN7_SO_DW2_STREAM2_READ_LEN__MASK                      0x001f0000
  776. #define GEN7_SO_DW2_STREAM2_READ_LEN__SHIFT                     16
  777. #define GEN7_SO_DW2_STREAM1_READ_OFFSET__MASK                   0x00002000
  778. #define GEN7_SO_DW2_STREAM1_READ_OFFSET__SHIFT                  13
  779. #define GEN7_SO_DW2_STREAM1_READ_LEN__MASK                      0x00001f00
  780. #define GEN7_SO_DW2_STREAM1_READ_LEN__SHIFT                     8
  781. #define GEN7_SO_DW2_STREAM0_READ_OFFSET__MASK                   0x00000020
  782. #define GEN7_SO_DW2_STREAM0_READ_OFFSET__SHIFT                  5
  783. #define GEN7_SO_DW2_STREAM0_READ_LEN__MASK                      0x0000001f
  784. #define GEN7_SO_DW2_STREAM0_READ_LEN__SHIFT                     0
  785.  
  786. #define GEN8_SO_DW3_BUFFER1_PITCH__MASK                         0x0fff0000
  787. #define GEN8_SO_DW3_BUFFER1_PITCH__SHIFT                        16
  788. #define GEN8_SO_DW3_BUFFER0_PITCH__MASK                         0x00000fff
  789. #define GEN8_SO_DW3_BUFFER0_PITCH__SHIFT                        0
  790.  
  791. #define GEN8_SO_DW4_BUFFER3_PITCH__MASK                         0x0fff0000
  792. #define GEN8_SO_DW4_BUFFER3_PITCH__SHIFT                        16
  793. #define GEN8_SO_DW4_BUFFER2_PITCH__MASK                         0x00000fff
  794. #define GEN8_SO_DW4_BUFFER2_PITCH__SHIFT                        0
  795.  
  796. #define GEN7_3DSTATE_SO_DECL_LIST__SIZE                         259
  797.  
  798.  
  799. #define GEN7_SO_DECL_DW1_STREAM3_BUFFER_SELECTS__MASK           0x0000f000
  800. #define GEN7_SO_DECL_DW1_STREAM3_BUFFER_SELECTS__SHIFT          12
  801. #define GEN7_SO_DECL_DW1_STREAM2_BUFFER_SELECTS__MASK           0x00000f00
  802. #define GEN7_SO_DECL_DW1_STREAM2_BUFFER_SELECTS__SHIFT          8
  803. #define GEN7_SO_DECL_DW1_STREAM1_BUFFER_SELECTS__MASK           0x000000f0
  804. #define GEN7_SO_DECL_DW1_STREAM1_BUFFER_SELECTS__SHIFT          4
  805. #define GEN7_SO_DECL_DW1_STREAM0_BUFFER_SELECTS__MASK           0x0000000f
  806. #define GEN7_SO_DECL_DW1_STREAM0_BUFFER_SELECTS__SHIFT          0
  807.  
  808. #define GEN7_SO_DECL_DW2_STREAM3_ENTRY_COUNT__MASK              0xff000000
  809. #define GEN7_SO_DECL_DW2_STREAM3_ENTRY_COUNT__SHIFT             24
  810. #define GEN7_SO_DECL_DW2_STREAM2_ENTRY_COUNT__MASK              0x00ff0000
  811. #define GEN7_SO_DECL_DW2_STREAM2_ENTRY_COUNT__SHIFT             16
  812. #define GEN7_SO_DECL_DW2_STREAM1_ENTRY_COUNT__MASK              0x0000ff00
  813. #define GEN7_SO_DECL_DW2_STREAM1_ENTRY_COUNT__SHIFT             8
  814. #define GEN7_SO_DECL_DW2_STREAM0_ENTRY_COUNT__MASK              0x000000ff
  815. #define GEN7_SO_DECL_DW2_STREAM0_ENTRY_COUNT__SHIFT             0
  816.  
  817. #define GEN7_SO_DECL_HIGH__MASK                                 0xffff0000
  818. #define GEN7_SO_DECL_HIGH__SHIFT                                16
  819. #define GEN7_SO_DECL_OUTPUT_SLOT__MASK                          0x00003000
  820. #define GEN7_SO_DECL_OUTPUT_SLOT__SHIFT                         12
  821. #define GEN7_SO_DECL_HOLE_FLAG                                  (0x1 << 11)
  822. #define GEN7_SO_DECL_REG_INDEX__MASK                            0x000003f0
  823. #define GEN7_SO_DECL_REG_INDEX__SHIFT                           4
  824. #define GEN7_SO_DECL_COMPONENT_MASK__MASK                       0x0000000f
  825. #define GEN7_SO_DECL_COMPONENT_MASK__SHIFT                      0
  826.  
  827. #define GEN7_3DSTATE_SO_BUFFER__SIZE                            8
  828.  
  829.  
  830. #define GEN8_SO_BUF_DW1_ENABLE                                  (0x1 << 31)
  831. #define GEN7_SO_BUF_DW1_INDEX__MASK                             0x60000000
  832. #define GEN7_SO_BUF_DW1_INDEX__SHIFT                            29
  833. #define GEN7_SO_BUF_DW1_MOCS__MASK                              0x1e000000
  834. #define GEN7_SO_BUF_DW1_MOCS__SHIFT                             25
  835. #define GEN8_SO_BUF_DW1_MOCS__MASK                              0x1fc00000
  836. #define GEN8_SO_BUF_DW1_MOCS__SHIFT                             22
  837. #define GEN8_SO_BUF_DW1_OFFSET_WRITE_ENABLE                     (0x1 << 21)
  838. #define GEN8_SO_BUF_DW1_OFFSET_ENABLE                           (0x1 << 20)
  839. #define GEN7_SO_BUF_DW1_PITCH__MASK                             0x00000fff
  840. #define GEN7_SO_BUF_DW1_PITCH__SHIFT                            0
  841.  
  842. #define GEN7_SO_BUF_DW2_START_ADDR__MASK                        0xfffffffc
  843. #define GEN7_SO_BUF_DW2_START_ADDR__SHIFT                       2
  844. #define GEN7_SO_BUF_DW2_START_ADDR__SHR                         2
  845.  
  846. #define GEN7_SO_BUF_DW3_END_ADDR__MASK                          0xfffffffc
  847. #define GEN7_SO_BUF_DW3_END_ADDR__SHIFT                         2
  848. #define GEN7_SO_BUF_DW3_END_ADDR__SHR                           2
  849.  
  850. #define GEN8_SO_BUF_DW2_ADDR__MASK                              0xfffffffc
  851. #define GEN8_SO_BUF_DW2_ADDR__SHIFT                             2
  852. #define GEN8_SO_BUF_DW2_ADDR__SHR                               2
  853.  
  854.  
  855.  
  856. #define GEN8_SO_BUF_DW5_OFFSET_ADDR__MASK                       0xfffffffc
  857. #define GEN8_SO_BUF_DW5_OFFSET_ADDR__SHIFT                      2
  858. #define GEN8_SO_BUF_DW5_OFFSET_ADDR__SHR                        2
  859.  
  860.  
  861.  
  862. #define GEN6_3DSTATE_CLIP__SIZE                                 4
  863.  
  864.  
  865. #define GEN7_CLIP_DW1_FRONTWINDING__MASK                        0x00100000
  866. #define GEN7_CLIP_DW1_FRONTWINDING__SHIFT                       20
  867. #define GEN7_CLIP_DW1_FRONTWINDING_CW                           (0x0 << 20)
  868. #define GEN7_CLIP_DW1_FRONTWINDING_CCW                          (0x1 << 20)
  869. #define GEN7_CLIP_DW1_SUBPIXEL__MASK                            0x00080000
  870. #define GEN7_CLIP_DW1_SUBPIXEL__SHIFT                           19
  871. #define GEN7_CLIP_DW1_SUBPIXEL_8BITS                            (0x0 << 19)
  872. #define GEN7_CLIP_DW1_SUBPIXEL_4BITS                            (0x1 << 19)
  873. #define GEN7_CLIP_DW1_EARLY_CULL_ENABLE                         (0x1 << 18)
  874. #define GEN7_CLIP_DW1_CULLMODE__MASK                            0x00030000
  875. #define GEN7_CLIP_DW1_CULLMODE__SHIFT                           16
  876. #define GEN7_CLIP_DW1_CULLMODE_BOTH                             (0x0 << 16)
  877. #define GEN7_CLIP_DW1_CULLMODE_NONE                             (0x1 << 16)
  878. #define GEN7_CLIP_DW1_CULLMODE_FRONT                            (0x2 << 16)
  879. #define GEN7_CLIP_DW1_CULLMODE_BACK                             (0x3 << 16)
  880. #define GEN6_CLIP_DW1_STATISTICS                                (0x1 << 10)
  881. #define GEN6_CLIP_DW1_UCP_CULL_ENABLES__MASK                    0x000000ff
  882. #define GEN6_CLIP_DW1_UCP_CULL_ENABLES__SHIFT                   0
  883.  
  884. #define GEN6_CLIP_DW2_CLIP_ENABLE                               (0x1 << 31)
  885. #define GEN6_CLIP_DW2_APIMODE__MASK                             0x40000000
  886. #define GEN6_CLIP_DW2_APIMODE__SHIFT                            30
  887. #define GEN6_CLIP_DW2_APIMODE_OGL                               (0x0 << 30)
  888. #define GEN6_CLIP_DW2_APIMODE_D3D                               (0x1 << 30)
  889. #define GEN6_CLIP_DW2_XY_TEST_ENABLE                            (0x1 << 28)
  890. #define GEN6_CLIP_DW2_Z_TEST_ENABLE                             (0x1 << 27)
  891. #define GEN6_CLIP_DW2_GB_TEST_ENABLE                            (0x1 << 26)
  892. #define GEN6_CLIP_DW2_UCP_CLIP_ENABLES__MASK                    0x00ff0000
  893. #define GEN6_CLIP_DW2_UCP_CLIP_ENABLES__SHIFT                   16
  894. #define GEN6_CLIP_DW2_CLIPMODE__MASK                            0x0000e000
  895. #define GEN6_CLIP_DW2_CLIPMODE__SHIFT                           13
  896. #define GEN6_CLIP_DW2_CLIPMODE_NORMAL                           (0x0 << 13)
  897. #define GEN6_CLIP_DW2_CLIPMODE_REJECT_ALL                       (0x3 << 13)
  898. #define GEN6_CLIP_DW2_CLIPMODE_ACCEPT_ALL                       (0x4 << 13)
  899. #define GEN6_CLIP_DW2_PERSPECTIVE_DIVIDE_DISABLE                (0x1 << 9)
  900. #define GEN6_CLIP_DW2_NONPERSPECTIVE_BARYCENTRIC_ENABLE         (0x1 << 8)
  901. #define GEN6_CLIP_DW2_TRI_PROVOKE__MASK                         0x00000030
  902. #define GEN6_CLIP_DW2_TRI_PROVOKE__SHIFT                        4
  903. #define GEN6_CLIP_DW2_LINE_PROVOKE__MASK                        0x0000000c
  904. #define GEN6_CLIP_DW2_LINE_PROVOKE__SHIFT                       2
  905. #define GEN6_CLIP_DW2_TRIFAN_PROVOKE__MASK                      0x00000003
  906. #define GEN6_CLIP_DW2_TRIFAN_PROVOKE__SHIFT                     0
  907.  
  908. #define GEN6_CLIP_DW3_MIN_POINT_WIDTH__MASK                     0x0ffe0000
  909. #define GEN6_CLIP_DW3_MIN_POINT_WIDTH__SHIFT                    17
  910. #define GEN6_CLIP_DW3_MIN_POINT_WIDTH__RADIX                    3
  911. #define GEN6_CLIP_DW3_MAX_POINT_WIDTH__MASK                     0x0001ffc0
  912. #define GEN6_CLIP_DW3_MAX_POINT_WIDTH__SHIFT                    6
  913. #define GEN6_CLIP_DW3_MAX_POINT_WIDTH__RADIX                    3
  914. #define GEN6_CLIP_DW3_RTAINDEX_FORCED_ZERO                      (0x1 << 5)
  915. #define GEN6_CLIP_DW3_MAX_VPINDEX__MASK                         0x0000000f
  916. #define GEN6_CLIP_DW3_MAX_VPINDEX__SHIFT                        0
  917.  
  918. #define GEN6_3DSTATE_SF_DW1_DW3__SIZE                           3
  919.  
  920. #define GEN7_SF_DW1_DEPTH_FORMAT__MASK                          0x00007000
  921. #define GEN7_SF_DW1_DEPTH_FORMAT__SHIFT                         12
  922. #define GEN9_SF_DW1_LINE_WIDTH__MASK                            0x3ffff000
  923. #define GEN9_SF_DW1_LINE_WIDTH__SHIFT                           12
  924. #define GEN9_SF_DW1_LINE_WIDTH__RADIX                           7
  925. #define GEN7_SF_DW1_LEGACY_DEPTH_OFFSET                         (0x1 << 11)
  926. #define GEN7_SF_DW1_STATISTICS                                  (0x1 << 10)
  927. #define GEN7_SF_DW1_DEPTH_OFFSET_SOLID                          (0x1 << 9)
  928. #define GEN7_SF_DW1_DEPTH_OFFSET_WIREFRAME                      (0x1 << 8)
  929. #define GEN7_SF_DW1_DEPTH_OFFSET_POINT                          (0x1 << 7)
  930. #define GEN7_SF_DW1_FRONTFACE__MASK                             0x00000060
  931. #define GEN7_SF_DW1_FRONTFACE__SHIFT                            5
  932. #define GEN7_SF_DW1_FRONTFACE_SOLID                             (0x0 << 5)
  933. #define GEN7_SF_DW1_FRONTFACE_WIREFRAME                         (0x1 << 5)
  934. #define GEN7_SF_DW1_FRONTFACE_POINT                             (0x2 << 5)
  935. #define GEN7_SF_DW1_BACKFACE__MASK                              0x00000018
  936. #define GEN7_SF_DW1_BACKFACE__SHIFT                             3
  937. #define GEN7_SF_DW1_BACKFACE_SOLID                              (0x0 << 3)
  938. #define GEN7_SF_DW1_BACKFACE_WIREFRAME                          (0x1 << 3)
  939. #define GEN7_SF_DW1_BACKFACE_POINT                              (0x2 << 3)
  940. #define GEN7_SF_DW1_VIEWPORT_ENABLE                             (0x1 << 1)
  941. #define GEN7_SF_DW1_FRONTWINDING__MASK                          0x00000001
  942. #define GEN7_SF_DW1_FRONTWINDING__SHIFT                         0
  943. #define GEN7_SF_DW1_FRONTWINDING_CW                             0x0
  944. #define GEN7_SF_DW1_FRONTWINDING_CCW                            0x1
  945.  
  946. #define GEN7_SF_DW2_AA_LINE_ENABLE                              (0x1 << 31)
  947. #define GEN7_SF_DW2_CULLMODE__MASK                              0x60000000
  948. #define GEN7_SF_DW2_CULLMODE__SHIFT                             29
  949. #define GEN7_SF_DW2_CULLMODE_BOTH                               (0x0 << 29)
  950. #define GEN7_SF_DW2_CULLMODE_NONE                               (0x1 << 29)
  951. #define GEN7_SF_DW2_CULLMODE_FRONT                              (0x2 << 29)
  952. #define GEN7_SF_DW2_CULLMODE_BACK                               (0x3 << 29)
  953. #define GEN7_SF_DW2_LINE_WIDTH__MASK                            0x0ffc0000
  954. #define GEN7_SF_DW2_LINE_WIDTH__SHIFT                           18
  955. #define GEN7_SF_DW2_LINE_WIDTH__RADIX                           7
  956. #define GEN7_SF_DW2_AA_LINE_CAP__MASK                           0x00030000
  957. #define GEN7_SF_DW2_AA_LINE_CAP__SHIFT                          16
  958. #define GEN7_SF_DW2_AA_LINE_CAP_0_5                             (0x0 << 16)
  959. #define GEN7_SF_DW2_AA_LINE_CAP_1_0                             (0x1 << 16)
  960. #define GEN7_SF_DW2_AA_LINE_CAP_2_0                             (0x2 << 16)
  961. #define GEN7_SF_DW2_AA_LINE_CAP_4_0                             (0x3 << 16)
  962. #define GEN75_SF_DW2_LINE_STIPPLE_ENABLE                        (0x1 << 14)
  963. #define GEN7_SF_DW2_SCISSOR_ENABLE                              (0x1 << 11)
  964. #define GEN7_SF_DW2_MSRASTMODE__MASK                            0x00000300
  965. #define GEN7_SF_DW2_MSRASTMODE__SHIFT                           8
  966. #define GEN7_SF_DW2_MSRASTMODE_OFF_PIXEL                        (0x0 << 8)
  967. #define GEN7_SF_DW2_MSRASTMODE_OFF_PATTERN                      (0x1 << 8)
  968. #define GEN7_SF_DW2_MSRASTMODE_ON_PIXEL                         (0x2 << 8)
  969. #define GEN7_SF_DW2_MSRASTMODE_ON_PATTERN                       (0x3 << 8)
  970.  
  971. #define GEN7_SF_DW3_LINE_LAST_PIXEL_ENABLE                      (0x1 << 31)
  972. #define GEN7_SF_DW3_TRI_PROVOKE__MASK                           0x60000000
  973. #define GEN7_SF_DW3_TRI_PROVOKE__SHIFT                          29
  974. #define GEN7_SF_DW3_LINE_PROVOKE__MASK                          0x18000000
  975. #define GEN7_SF_DW3_LINE_PROVOKE__SHIFT                         27
  976. #define GEN7_SF_DW3_TRIFAN_PROVOKE__MASK                        0x06000000
  977. #define GEN7_SF_DW3_TRIFAN_PROVOKE__SHIFT                       25
  978. #define GEN7_SF_DW3_TRUE_AA_LINE_DISTANCE                       (0x1 << 14)
  979. #define GEN7_SF_DW3_SUBPIXEL__MASK                              0x00001000
  980. #define GEN7_SF_DW3_SUBPIXEL__SHIFT                             12
  981. #define GEN7_SF_DW3_SUBPIXEL_8BITS                              (0x0 << 12)
  982. #define GEN7_SF_DW3_SUBPIXEL_4BITS                              (0x1 << 12)
  983. #define GEN7_SF_DW3_USE_POINT_WIDTH                             (0x1 << 11)
  984. #define GEN7_SF_DW3_POINT_WIDTH__MASK                           0x000007ff
  985. #define GEN7_SF_DW3_POINT_WIDTH__SHIFT                          0
  986. #define GEN7_SF_DW3_POINT_WIDTH__RADIX                          3
  987.  
  988. #define GEN7_3DSTATE_SBE_DW1__SIZE                              13
  989.  
  990. #define GEN8_SBE_DW1_USE_URB_READ_LEN                           (0x1 << 29)
  991. #define GEN8_SBE_DW1_USE_URB_READ_OFFSET                        (0x1 << 28)
  992. #define GEN7_SBE_DW1_ATTR_SWIZZLE__MASK                         0x10000000
  993. #define GEN7_SBE_DW1_ATTR_SWIZZLE__SHIFT                        28
  994. #define GEN7_SBE_DW1_ATTR_SWIZZLE_0_15                          (0x0 << 28)
  995. #define GEN7_SBE_DW1_ATTR_SWIZZLE_16_31                         (0x1 << 28)
  996. #define GEN7_SBE_DW1_ATTR_COUNT__MASK                           0x0fc00000
  997. #define GEN7_SBE_DW1_ATTR_COUNT__SHIFT                          22
  998. #define GEN7_SBE_DW1_ATTR_SWIZZLE_ENABLE                        (0x1 << 21)
  999. #define GEN7_SBE_DW1_POINT_SPRITE_TEXCOORD__MASK                0x00100000
  1000. #define GEN7_SBE_DW1_POINT_SPRITE_TEXCOORD__SHIFT               20
  1001. #define GEN7_SBE_DW1_POINT_SPRITE_TEXCOORD_UPPERLEFT            (0x0 << 20)
  1002. #define GEN7_SBE_DW1_POINT_SPRITE_TEXCOORD_LOWERLEFT            (0x1 << 20)
  1003. #define GEN7_SBE_DW1_URB_READ_LEN__MASK                         0x0000f800
  1004. #define GEN7_SBE_DW1_URB_READ_LEN__SHIFT                        11
  1005. #define GEN7_SBE_DW1_URB_READ_OFFSET__MASK                      0x000003f0
  1006. #define GEN7_SBE_DW1_URB_READ_OFFSET__SHIFT                     4
  1007. #define GEN8_SBE_DW1_URB_READ_OFFSET__MASK                      0x000007e0
  1008. #define GEN8_SBE_DW1_URB_READ_OFFSET__SHIFT                     5
  1009.  
  1010. #define GEN8_3DSTATE_SBE_SWIZ_DW1_DW8__SIZE                     8
  1011.  
  1012. #define GEN8_SBE_SWIZ_HIGH__MASK                                0xffff0000
  1013. #define GEN8_SBE_SWIZ_HIGH__SHIFT                               16
  1014. #define GEN8_SBE_SWIZ_OVERRIDE_W                                (0x1 << 15)
  1015. #define GEN8_SBE_SWIZ_OVERRIDE_Z                                (0x1 << 14)
  1016. #define GEN8_SBE_SWIZ_OVERRIDE_Y                                (0x1 << 13)
  1017. #define GEN8_SBE_SWIZ_OVERRIDE_X                                (0x1 << 12)
  1018. #define GEN8_SBE_SWIZ_CONST__MASK                               0x00000600
  1019. #define GEN8_SBE_SWIZ_CONST__SHIFT                              9
  1020. #define GEN8_SBE_SWIZ_CONST_0000                                (0x0 << 9)
  1021. #define GEN8_SBE_SWIZ_CONST_0001_FLOAT                          (0x1 << 9)
  1022. #define GEN8_SBE_SWIZ_CONST_1111_FLOAT                          (0x2 << 9)
  1023. #define GEN8_SBE_SWIZ_CONST_PRIM_ID                             (0x3 << 9)
  1024. #define GEN8_SBE_SWIZ_INPUTATTR__MASK                           0x000000c0
  1025. #define GEN8_SBE_SWIZ_INPUTATTR__SHIFT                          6
  1026. #define GEN8_SBE_SWIZ_INPUTATTR_NORMAL                          (0x0 << 6)
  1027. #define GEN8_SBE_SWIZ_INPUTATTR_FACING                          (0x1 << 6)
  1028. #define GEN8_SBE_SWIZ_INPUTATTR_W                               (0x2 << 6)
  1029. #define GEN8_SBE_SWIZ_INPUTATTR_FACING_W                        (0x3 << 6)
  1030. #define GEN8_SBE_SWIZ_URB_ENTRY_OFFSET__MASK                    0x0000001f
  1031. #define GEN8_SBE_SWIZ_URB_ENTRY_OFFSET__SHIFT                   0
  1032.  
  1033. #define GEN6_3DSTATE_SF__SIZE                                   20
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054. #define GEN7_3DSTATE_SBE__SIZE                                  14
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067. #define GEN9_SBE_DW_ACTIVE_COMPONENT__MASK                      0x00000003
  1068. #define GEN9_SBE_DW_ACTIVE_COMPONENT__SHIFT                     0
  1069. #define GEN9_SBE_DW_ACTIVE_COMPONENT_NONE                       0x0
  1070. #define GEN9_SBE_DW_ACTIVE_COMPONENT_XY                         0x1
  1071. #define GEN9_SBE_DW_ACTIVE_COMPONENT_XYZ                        0x2
  1072. #define GEN9_SBE_DW_ACTIVE_COMPONENT_XYZW                       0x3
  1073.  
  1074. #define GEN8_3DSTATE_SBE_SWIZ__SIZE                             11
  1075.  
  1076.  
  1077.  
  1078.  
  1079. #define GEN8_3DSTATE_RASTER__SIZE                               5
  1080.  
  1081.  
  1082. #define GEN9_RASTER_DW1_Z_TEST_FAR_ENABLE                       (0x1 << 26)
  1083. #define GEN8_RASTER_DW1_FRONTWINDING__MASK                      0x00200000
  1084. #define GEN8_RASTER_DW1_FRONTWINDING__SHIFT                     21
  1085. #define GEN8_RASTER_DW1_FRONTWINDING_CW                         (0x0 << 21)
  1086. #define GEN8_RASTER_DW1_FRONTWINDING_CCW                        (0x1 << 21)
  1087. #define GEN8_RASTER_DW1_CULLMODE__MASK                          0x00030000
  1088. #define GEN8_RASTER_DW1_CULLMODE__SHIFT                         16
  1089. #define GEN8_RASTER_DW1_CULLMODE_BOTH                           (0x0 << 16)
  1090. #define GEN8_RASTER_DW1_CULLMODE_NONE                           (0x1 << 16)
  1091. #define GEN8_RASTER_DW1_CULLMODE_FRONT                          (0x2 << 16)
  1092. #define GEN8_RASTER_DW1_CULLMODE_BACK                           (0x3 << 16)
  1093. #define GEN8_RASTER_DW1_SMOOTH_POINT_ENABLE                     (0x1 << 13)
  1094. #define GEN8_RASTER_DW1_API_MULTISAMPLE_ENABLE                  (0x1 << 12)
  1095. #define GEN8_RASTER_DW1_DEPTH_OFFSET_SOLID                      (0x1 << 9)
  1096. #define GEN8_RASTER_DW1_DEPTH_OFFSET_WIREFRAME                  (0x1 << 8)
  1097. #define GEN8_RASTER_DW1_DEPTH_OFFSET_POINT                      (0x1 << 7)
  1098. #define GEN8_RASTER_DW1_FRONTFACE__MASK                         0x00000060
  1099. #define GEN8_RASTER_DW1_FRONTFACE__SHIFT                        5
  1100. #define GEN8_RASTER_DW1_FRONTFACE_SOLID                         (0x0 << 5)
  1101. #define GEN8_RASTER_DW1_FRONTFACE_WIREFRAME                     (0x1 << 5)
  1102. #define GEN8_RASTER_DW1_FRONTFACE_POINT                         (0x2 << 5)
  1103. #define GEN8_RASTER_DW1_BACKFACE__MASK                          0x00000018
  1104. #define GEN8_RASTER_DW1_BACKFACE__SHIFT                         3
  1105. #define GEN8_RASTER_DW1_BACKFACE_SOLID                          (0x0 << 3)
  1106. #define GEN8_RASTER_DW1_BACKFACE_WIREFRAME                      (0x1 << 3)
  1107. #define GEN8_RASTER_DW1_BACKFACE_POINT                          (0x2 << 3)
  1108. #define GEN8_RASTER_DW1_AA_LINE_ENABLE                          (0x1 << 2)
  1109. #define GEN8_RASTER_DW1_SCISSOR_ENABLE                          (0x1 << 1)
  1110. #define GEN8_RASTER_DW1_Z_TEST_ENABLE                           (0x1 << 0)
  1111. #define GEN9_RASTER_DW1_Z_TEST_NEAR_ENABLE                      (0x1 << 0)
  1112.  
  1113.  
  1114.  
  1115.  
  1116. #define GEN6_3DSTATE_WM__SIZE                                   9
  1117.  
  1118.  
  1119. #define GEN6_WM_DW1_KERNEL0_ADDR__MASK                          0xffffffc0
  1120. #define GEN6_WM_DW1_KERNEL0_ADDR__SHIFT                         6
  1121. #define GEN6_WM_DW1_KERNEL0_ADDR__SHR                           6
  1122.  
  1123.  
  1124.  
  1125. #define GEN6_WM_DW4_STATISTICS                                  (0x1 << 31)
  1126. #define GEN6_WM_DW4_DEPTH_CLEAR                                 (0x1 << 30)
  1127. #define GEN6_WM_DW4_DEPTH_RESOLVE                               (0x1 << 28)
  1128. #define GEN6_WM_DW4_HIZ_RESOLVE                                 (0x1 << 27)
  1129. #define GEN6_WM_DW4_URB_GRF_START0__MASK                        0x007f0000
  1130. #define GEN6_WM_DW4_URB_GRF_START0__SHIFT                       16
  1131. #define GEN6_WM_DW4_URB_GRF_START1__MASK                        0x00007f00
  1132. #define GEN6_WM_DW4_URB_GRF_START1__SHIFT                       8
  1133. #define GEN6_WM_DW4_URB_GRF_START2__MASK                        0x0000007f
  1134. #define GEN6_WM_DW4_URB_GRF_START2__SHIFT                       0
  1135.  
  1136. #define GEN6_WM_DW5_MAX_THREADS__MASK                           0xfe000000
  1137. #define GEN6_WM_DW5_MAX_THREADS__SHIFT                          25
  1138. #define GEN6_WM_DW5_LEGACY_LINE_RAST                            (0x1 << 23)
  1139. #define GEN6_WM_DW5_PS_KILL_PIXEL                               (0x1 << 22)
  1140. #define GEN6_WM_DW5_PS_COMPUTE_DEPTH                            (0x1 << 21)
  1141. #define GEN6_WM_DW5_PS_USE_DEPTH                                (0x1 << 20)
  1142. #define GEN6_WM_DW5_PS_DISPATCH_ENABLE                          (0x1 << 19)
  1143. #define GEN6_WM_DW5_AA_LINE_CAP__MASK                           0x00030000
  1144. #define GEN6_WM_DW5_AA_LINE_CAP__SHIFT                          16
  1145. #define GEN6_WM_DW5_AA_LINE_CAP_0_5                             (0x0 << 16)
  1146. #define GEN6_WM_DW5_AA_LINE_CAP_1_0                             (0x1 << 16)
  1147. #define GEN6_WM_DW5_AA_LINE_CAP_2_0                             (0x2 << 16)
  1148. #define GEN6_WM_DW5_AA_LINE_CAP_4_0                             (0x3 << 16)
  1149. #define GEN6_WM_DW5_AA_LINE_WIDTH__MASK                         0x0000c000
  1150. #define GEN6_WM_DW5_AA_LINE_WIDTH__SHIFT                        14
  1151. #define GEN6_WM_DW5_AA_LINE_WIDTH_0_5                           (0x0 << 14)
  1152. #define GEN6_WM_DW5_AA_LINE_WIDTH_1_0                           (0x1 << 14)
  1153. #define GEN6_WM_DW5_AA_LINE_WIDTH_2_0                           (0x2 << 14)
  1154. #define GEN6_WM_DW5_AA_LINE_WIDTH_4_0                           (0x3 << 14)
  1155. #define GEN6_WM_DW5_POLY_STIPPLE_ENABLE                         (0x1 << 13)
  1156. #define GEN6_WM_DW5_LINE_STIPPLE_ENABLE                         (0x1 << 11)
  1157. #define GEN6_WM_DW5_PS_COMPUTE_OMASK                            (0x1 << 9)
  1158. #define GEN6_WM_DW5_PS_USE_W                                    (0x1 << 8)
  1159. #define GEN6_WM_DW5_PS_DUAL_SOURCE_BLEND                        (0x1 << 7)
  1160. #define GEN6_WM_DW5_PS_DISPATCH_MODE__MASK                      0x00000007
  1161. #define GEN6_WM_DW5_PS_DISPATCH_MODE__SHIFT                     0
  1162.  
  1163. #define GEN6_WM_DW6_SF_ATTR_COUNT__MASK                         0x03f00000
  1164. #define GEN6_WM_DW6_SF_ATTR_COUNT__SHIFT                        20
  1165. #define GEN6_WM_DW6_PS_POSOFFSET__MASK                          0x000c0000
  1166. #define GEN6_WM_DW6_PS_POSOFFSET__SHIFT                         18
  1167. #define GEN6_WM_DW6_PS_POSOFFSET_NONE                           (0x0 << 18)
  1168. #define GEN6_WM_DW6_PS_POSOFFSET_CENTROID                       (0x2 << 18)
  1169. #define GEN6_WM_DW6_PS_POSOFFSET_SAMPLE                         (0x3 << 18)
  1170. #define GEN6_WM_DW6_ZW_INTERP__MASK                             0x00030000
  1171. #define GEN6_WM_DW6_ZW_INTERP__SHIFT                            16
  1172. #define GEN6_WM_DW6_ZW_INTERP_PIXEL                             (0x0 << 16)
  1173. #define GEN6_WM_DW6_ZW_INTERP_CENTROID                          (0x2 << 16)
  1174. #define GEN6_WM_DW6_ZW_INTERP_SAMPLE                            (0x3 << 16)
  1175. #define GEN6_WM_DW6_BARYCENTRIC_INTERP__MASK                    0x0000fc00
  1176. #define GEN6_WM_DW6_BARYCENTRIC_INTERP__SHIFT                   10
  1177. #define GEN6_WM_DW6_POINT_RASTRULE__MASK                        0x00000200
  1178. #define GEN6_WM_DW6_POINT_RASTRULE__SHIFT                       9
  1179. #define GEN6_WM_DW6_POINT_RASTRULE_UPPER_LEFT                   (0x0 << 9)
  1180. #define GEN6_WM_DW6_POINT_RASTRULE_UPPER_RIGHT                  (0x1 << 9)
  1181. #define GEN6_WM_DW6_MSRASTMODE__MASK                            0x00000006
  1182. #define GEN6_WM_DW6_MSRASTMODE__SHIFT                           1
  1183. #define GEN6_WM_DW6_MSRASTMODE_OFF_PIXEL                        (0x0 << 1)
  1184. #define GEN6_WM_DW6_MSRASTMODE_OFF_PATTERN                      (0x1 << 1)
  1185. #define GEN6_WM_DW6_MSRASTMODE_ON_PIXEL                         (0x2 << 1)
  1186. #define GEN6_WM_DW6_MSRASTMODE_ON_PATTERN                       (0x3 << 1)
  1187. #define GEN6_WM_DW6_MSDISPMODE__MASK                            0x00000001
  1188. #define GEN6_WM_DW6_MSDISPMODE__SHIFT                           0
  1189. #define GEN6_WM_DW6_MSDISPMODE_PERSAMPLE                        0x0
  1190. #define GEN6_WM_DW6_MSDISPMODE_PERPIXEL                         0x1
  1191.  
  1192. #define GEN6_WM_DW7_KERNEL1_ADDR__MASK                          0xffffffc0
  1193. #define GEN6_WM_DW7_KERNEL1_ADDR__SHIFT                         6
  1194. #define GEN6_WM_DW7_KERNEL1_ADDR__SHR                           6
  1195.  
  1196. #define GEN6_WM_DW8_KERNEL2_ADDR__MASK                          0xffffffc0
  1197. #define GEN6_WM_DW8_KERNEL2_ADDR__SHIFT                         6
  1198. #define GEN6_WM_DW8_KERNEL2_ADDR__SHR                           6
  1199.  
  1200.  
  1201. #define GEN7_WM_DW1_STATISTICS                                  (0x1 << 31)
  1202. #define GEN7_WM_DW1_DEPTH_CLEAR                                 (0x1 << 30)
  1203. #define GEN7_WM_DW1_PS_DISPATCH_ENABLE                          (0x1 << 29)
  1204. #define GEN7_WM_DW1_DEPTH_RESOLVE                               (0x1 << 28)
  1205. #define GEN7_WM_DW1_HIZ_RESOLVE                                 (0x1 << 27)
  1206. #define GEN7_WM_DW1_LEGACY_LINE_RAST                            (0x1 << 26)
  1207. #define GEN7_WM_DW1_PS_KILL_PIXEL                               (0x1 << 25)
  1208. #define GEN7_WM_DW1_PSCDEPTH__MASK                              0x01800000
  1209. #define GEN7_WM_DW1_PSCDEPTH__SHIFT                             23
  1210. #define GEN7_WM_DW1_PSCDEPTH_OFF                                (0x0 << 23)
  1211. #define GEN7_WM_DW1_PSCDEPTH_ON                                 (0x1 << 23)
  1212. #define GEN7_WM_DW1_PSCDEPTH_ON_GE                              (0x2 << 23)
  1213. #define GEN7_WM_DW1_PSCDEPTH_ON_LE                              (0x3 << 23)
  1214. #define GEN7_WM_DW1_EDSC__MASK                                  0x00600000
  1215. #define GEN7_WM_DW1_EDSC__SHIFT                                 21
  1216. #define GEN7_WM_DW1_EDSC_NORMAL                                 (0x0 << 21)
  1217. #define GEN7_WM_DW1_EDSC_PSEXEC                                 (0x1 << 21)
  1218. #define GEN7_WM_DW1_EDSC_PREPS                                  (0x2 << 21)
  1219. #define GEN7_WM_DW1_PS_USE_DEPTH                                (0x1 << 20)
  1220. #define GEN7_WM_DW1_PS_USE_W                                    (0x1 << 19)
  1221. #define GEN7_WM_DW1_ZW_INTERP__MASK                             0x00060000
  1222. #define GEN7_WM_DW1_ZW_INTERP__SHIFT                            17
  1223. #define GEN7_WM_DW1_ZW_INTERP_PIXEL                             (0x0 << 17)
  1224. #define GEN7_WM_DW1_ZW_INTERP_CENTROID                          (0x2 << 17)
  1225. #define GEN7_WM_DW1_ZW_INTERP_SAMPLE                            (0x3 << 17)
  1226. #define GEN7_WM_DW1_BARYCENTRIC_INTERP__MASK                    0x0001f800
  1227. #define GEN7_WM_DW1_BARYCENTRIC_INTERP__SHIFT                   11
  1228. #define GEN7_WM_DW1_PS_USE_COVERAGE_MASK                        (0x1 << 10)
  1229. #define GEN7_WM_DW1_AA_LINE_CAP__MASK                           0x00000300
  1230. #define GEN7_WM_DW1_AA_LINE_CAP__SHIFT                          8
  1231. #define GEN7_WM_DW1_AA_LINE_CAP_0_5                             (0x0 << 8)
  1232. #define GEN7_WM_DW1_AA_LINE_CAP_1_0                             (0x1 << 8)
  1233. #define GEN7_WM_DW1_AA_LINE_CAP_2_0                             (0x2 << 8)
  1234. #define GEN7_WM_DW1_AA_LINE_CAP_4_0                             (0x3 << 8)
  1235. #define GEN7_WM_DW1_AA_LINE_WIDTH__MASK                         0x000000c0
  1236. #define GEN7_WM_DW1_AA_LINE_WIDTH__SHIFT                        6
  1237. #define GEN7_WM_DW1_AA_LINE_WIDTH_0_5                           (0x0 << 6)
  1238. #define GEN7_WM_DW1_AA_LINE_WIDTH_1_0                           (0x1 << 6)
  1239. #define GEN7_WM_DW1_AA_LINE_WIDTH_2_0                           (0x2 << 6)
  1240. #define GEN7_WM_DW1_AA_LINE_WIDTH_4_0                           (0x3 << 6)
  1241. #define GEN75_WM_DW1_RT_INDEPENDENT_RAST                        (0x1 << 5)
  1242. #define GEN7_WM_DW1_POLY_STIPPLE_ENABLE                         (0x1 << 4)
  1243. #define GEN7_WM_DW1_LINE_STIPPLE_ENABLE                         (0x1 << 3)
  1244. #define GEN7_WM_DW1_POINT_RASTRULE__MASK                        0x00000004
  1245. #define GEN7_WM_DW1_POINT_RASTRULE__SHIFT                       2
  1246. #define GEN7_WM_DW1_POINT_RASTRULE_UPPER_LEFT                   (0x0 << 2)
  1247. #define GEN7_WM_DW1_POINT_RASTRULE_UPPER_RIGHT                  (0x1 << 2)
  1248. #define GEN7_WM_DW1_MSRASTMODE__MASK                            0x00000003
  1249. #define GEN7_WM_DW1_MSRASTMODE__SHIFT                           0
  1250. #define GEN7_WM_DW1_MSRASTMODE_OFF_PIXEL                        0x0
  1251. #define GEN7_WM_DW1_MSRASTMODE_OFF_PATTERN                      0x1
  1252. #define GEN7_WM_DW1_MSRASTMODE_ON_PIXEL                         0x2
  1253. #define GEN7_WM_DW1_MSRASTMODE_ON_PATTERN                       0x3
  1254.  
  1255. #define GEN7_WM_DW2_MSDISPMODE__MASK                            0x80000000
  1256. #define GEN7_WM_DW2_MSDISPMODE__SHIFT                           31
  1257. #define GEN7_WM_DW2_MSDISPMODE_PERSAMPLE                        (0x0 << 31)
  1258. #define GEN7_WM_DW2_MSDISPMODE_PERPIXEL                         (0x1 << 31)
  1259. #define GEN75_WM_DW2_PS_UAV_ONLY                                (0x1 << 30)
  1260.  
  1261. #define GEN8_3DSTATE_WM_CHROMAKEY__SIZE                         2
  1262.  
  1263.  
  1264.  
  1265. #define GEN8_3DSTATE_WM_DEPTH_STENCIL__SIZE                     4
  1266.  
  1267.  
  1268. #define GEN8_ZS_DW1_STENCIL0_FAIL_OP__MASK                      0xe0000000
  1269. #define GEN8_ZS_DW1_STENCIL0_FAIL_OP__SHIFT                     29
  1270. #define GEN8_ZS_DW1_STENCIL0_ZFAIL_OP__MASK                     0x1c000000
  1271. #define GEN8_ZS_DW1_STENCIL0_ZFAIL_OP__SHIFT                    26
  1272. #define GEN8_ZS_DW1_STENCIL0_ZPASS_OP__MASK                     0x03800000
  1273. #define GEN8_ZS_DW1_STENCIL0_ZPASS_OP__SHIFT                    23
  1274. #define GEN8_ZS_DW1_STENCIL1_FUNC__MASK                         0x00700000
  1275. #define GEN8_ZS_DW1_STENCIL1_FUNC__SHIFT                        20
  1276. #define GEN8_ZS_DW1_STENCIL1_FAIL_OP__MASK                      0x000e0000
  1277. #define GEN8_ZS_DW1_STENCIL1_FAIL_OP__SHIFT                     17
  1278. #define GEN8_ZS_DW1_STENCIL1_ZFAIL_OP__MASK                     0x0001c000
  1279. #define GEN8_ZS_DW1_STENCIL1_ZFAIL_OP__SHIFT                    14
  1280. #define GEN8_ZS_DW1_STENCIL1_ZPASS_OP__MASK                     0x00003800
  1281. #define GEN8_ZS_DW1_STENCIL1_ZPASS_OP__SHIFT                    11
  1282. #define GEN8_ZS_DW1_STENCIL0_FUNC__MASK                         0x00000700
  1283. #define GEN8_ZS_DW1_STENCIL0_FUNC__SHIFT                        8
  1284. #define GEN8_ZS_DW1_DEPTH_FUNC__MASK                            0x000000e0
  1285. #define GEN8_ZS_DW1_DEPTH_FUNC__SHIFT                           5
  1286. #define GEN8_ZS_DW1_STENCIL1_ENABLE                             (0x1 << 4)
  1287. #define GEN8_ZS_DW1_STENCIL_TEST_ENABLE                         (0x1 << 3)
  1288. #define GEN8_ZS_DW1_STENCIL_WRITE_ENABLE                        (0x1 << 2)
  1289. #define GEN8_ZS_DW1_DEPTH_TEST_ENABLE                           (0x1 << 1)
  1290. #define GEN8_ZS_DW1_DEPTH_WRITE_ENABLE                          (0x1 << 0)
  1291.  
  1292. #define GEN8_ZS_DW2_STENCIL0_VALUEMASK__MASK                    0xff000000
  1293. #define GEN8_ZS_DW2_STENCIL0_VALUEMASK__SHIFT                   24
  1294. #define GEN8_ZS_DW2_STENCIL0_WRITEMASK__MASK                    0x00ff0000
  1295. #define GEN8_ZS_DW2_STENCIL0_WRITEMASK__SHIFT                   16
  1296. #define GEN8_ZS_DW2_STENCIL1_VALUEMASK__MASK                    0x0000ff00
  1297. #define GEN8_ZS_DW2_STENCIL1_VALUEMASK__SHIFT                   8
  1298. #define GEN8_ZS_DW2_STENCIL1_WRITEMASK__MASK                    0x000000ff
  1299. #define GEN8_ZS_DW2_STENCIL1_WRITEMASK__SHIFT                   0
  1300.  
  1301. #define GEN9_ZS_DW3_STENCIL0_REF__MASK                          0x0000ff00
  1302. #define GEN9_ZS_DW3_STENCIL0_REF__SHIFT                         8
  1303. #define GEN9_ZS_DW3_STENCIL1_REF__MASK                          0x000000ff
  1304. #define GEN9_ZS_DW3_STENCIL1_REF__SHIFT                         0
  1305.  
  1306. #define GEN8_3DSTATE_WM_HZ_OP__SIZE                             5
  1307.  
  1308.  
  1309. #define GEN8_WM_HZ_DW1_STENCIL_CLEAR                            (0x1 << 31)
  1310. #define GEN8_WM_HZ_DW1_DEPTH_CLEAR                              (0x1 << 30)
  1311. #define GEN8_WM_HZ_DW1_DEPTH_RESOLVE                            (0x1 << 28)
  1312. #define GEN8_WM_HZ_DW1_HIZ_RESOLVE                              (0x1 << 27)
  1313. #define GEN8_WM_HZ_DW1_PIXEL_OFFSET_ENABLE                      (0x1 << 26)
  1314. #define GEN8_WM_HZ_DW1_FULL_SURFACE_DEPTH_CLEAR                 (0x1 << 25)
  1315. #define GEN8_WM_HZ_DW1_STENCIL_CLEAR_VALUE__MASK                0x00ff0000
  1316. #define GEN8_WM_HZ_DW1_STENCIL_CLEAR_VALUE__SHIFT               16
  1317. #define GEN8_WM_HZ_DW1_NUMSAMPLES__MASK                         0x0000e000
  1318. #define GEN8_WM_HZ_DW1_NUMSAMPLES__SHIFT                        13
  1319. #define GEN8_WM_HZ_DW1_NUMSAMPLES_1                             (0x0 << 13)
  1320. #define GEN8_WM_HZ_DW1_NUMSAMPLES_2                             (0x1 << 13)
  1321. #define GEN8_WM_HZ_DW1_NUMSAMPLES_4                             (0x2 << 13)
  1322. #define GEN8_WM_HZ_DW1_NUMSAMPLES_8                             (0x3 << 13)
  1323. #define GEN8_WM_HZ_DW1_NUMSAMPLES_16                            (0x4 << 13)
  1324.  
  1325. #define GEN8_WM_HZ_DW2_RECT_MIN_Y__MASK                         0xffff0000
  1326. #define GEN8_WM_HZ_DW2_RECT_MIN_Y__SHIFT                        16
  1327. #define GEN8_WM_HZ_DW2_RECT_MIN_X__MASK                         0x0000ffff
  1328. #define GEN8_WM_HZ_DW2_RECT_MIN_X__SHIFT                        0
  1329.  
  1330. #define GEN8_WM_HZ_DW3_RECT_MAX_Y__MASK                         0xffff0000
  1331. #define GEN8_WM_HZ_DW3_RECT_MAX_Y__SHIFT                        16
  1332. #define GEN8_WM_HZ_DW3_RECT_MAX_X__MASK                         0x0000ffff
  1333. #define GEN8_WM_HZ_DW3_RECT_MAX_X__SHIFT                        0
  1334.  
  1335. #define GEN8_WM_HZ_DW4_SAMPLE_MASK__MASK                        0x0000ffff
  1336. #define GEN8_WM_HZ_DW4_SAMPLE_MASK__SHIFT                       0
  1337.  
  1338. #define GEN7_3DSTATE_PS__SIZE                                   12
  1339.  
  1340.  
  1341. #define GEN7_PS_DW1_KERNEL0_ADDR__MASK                          0xffffffc0
  1342. #define GEN7_PS_DW1_KERNEL0_ADDR__SHIFT                         6
  1343. #define GEN7_PS_DW1_KERNEL0_ADDR__SHR                           6
  1344.  
  1345.  
  1346.  
  1347. #define GEN7_PS_DW4_MAX_THREADS__MASK                           0xff000000
  1348. #define GEN7_PS_DW4_MAX_THREADS__SHIFT                          24
  1349. #define GEN75_PS_DW4_MAX_THREADS__MASK                          0xff800000
  1350. #define GEN75_PS_DW4_MAX_THREADS__SHIFT                         23
  1351. #define GEN75_PS_DW4_SAMPLE_MASK__MASK                          0x000ff000
  1352. #define GEN75_PS_DW4_SAMPLE_MASK__SHIFT                         12
  1353. #define GEN7_PS_DW4_PUSH_CONSTANT_ENABLE                        (0x1 << 11)
  1354. #define GEN7_PS_DW4_ATTR_ENABLE                                 (0x1 << 10)
  1355. #define GEN7_PS_DW4_COMPUTE_OMASK                               (0x1 << 9)
  1356. #define GEN7_PS_DW4_RT_FAST_CLEAR                               (0x1 << 8)
  1357. #define GEN7_PS_DW4_DUAL_SOURCE_BLEND                           (0x1 << 7)
  1358. #define GEN7_PS_DW4_RT_RESOLVE                                  (0x1 << 6)
  1359. #define GEN75_PS_DW4_ACCESS_UAV                                 (0x1 << 5)
  1360. #define GEN7_PS_DW4_POSOFFSET__MASK                             0x00000018
  1361. #define GEN7_PS_DW4_POSOFFSET__SHIFT                            3
  1362. #define GEN7_PS_DW4_POSOFFSET_NONE                              (0x0 << 3)
  1363. #define GEN7_PS_DW4_POSOFFSET_CENTROID                          (0x2 << 3)
  1364. #define GEN7_PS_DW4_POSOFFSET_SAMPLE                            (0x3 << 3)
  1365. #define GEN7_PS_DW4_DISPATCH_MODE__MASK                         0x00000007
  1366. #define GEN7_PS_DW4_DISPATCH_MODE__SHIFT                        0
  1367.  
  1368. #define GEN7_PS_DW5_URB_GRF_START0__MASK                        0x007f0000
  1369. #define GEN7_PS_DW5_URB_GRF_START0__SHIFT                       16
  1370. #define GEN7_PS_DW5_URB_GRF_START1__MASK                        0x00007f00
  1371. #define GEN7_PS_DW5_URB_GRF_START1__SHIFT                       8
  1372. #define GEN7_PS_DW5_URB_GRF_START2__MASK                        0x0000007f
  1373. #define GEN7_PS_DW5_URB_GRF_START2__SHIFT                       0
  1374.  
  1375. #define GEN7_PS_DW6_KERNEL1_ADDR__MASK                          0xffffffc0
  1376. #define GEN7_PS_DW6_KERNEL1_ADDR__SHIFT                         6
  1377. #define GEN7_PS_DW6_KERNEL1_ADDR__SHR                           6
  1378.  
  1379. #define GEN7_PS_DW7_KERNEL2_ADDR__MASK                          0xffffffc0
  1380. #define GEN7_PS_DW7_KERNEL2_ADDR__SHIFT                         6
  1381. #define GEN7_PS_DW7_KERNEL2_ADDR__SHR                           6
  1382.  
  1383.  
  1384.  
  1385. #define GEN8_PS_DW1_KERNEL0_ADDR__MASK                          0xffffffc0
  1386. #define GEN8_PS_DW1_KERNEL0_ADDR__SHIFT                         6
  1387. #define GEN8_PS_DW1_KERNEL0_ADDR__SHR                           6
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393. #define GEN8_PS_DW6_MAX_THREADS__MASK                           0xff800000
  1394. #define GEN8_PS_DW6_MAX_THREADS__SHIFT                          23
  1395. #define GEN8_PS_DW6_PUSH_CONSTANT_ENABLE                        (0x1 << 11)
  1396. #define GEN8_PS_DW6_RT_FAST_CLEAR                               (0x1 << 8)
  1397. #define GEN8_PS_DW6_RT_RESOLVE                                  (0x1 << 6)
  1398. #define GEN8_PS_DW6_POSOFFSET__MASK                             0x00000018
  1399. #define GEN8_PS_DW6_POSOFFSET__SHIFT                            3
  1400. #define GEN8_PS_DW6_POSOFFSET_NONE                              (0x0 << 3)
  1401. #define GEN8_PS_DW6_POSOFFSET_CENTROID                          (0x2 << 3)
  1402. #define GEN8_PS_DW6_POSOFFSET_SAMPLE                            (0x3 << 3)
  1403. #define GEN8_PS_DW6_DISPATCH_MODE__MASK                         0x00000007
  1404. #define GEN8_PS_DW6_DISPATCH_MODE__SHIFT                        0
  1405.  
  1406. #define GEN8_PS_DW7_URB_GRF_START0__MASK                        0x007f0000
  1407. #define GEN8_PS_DW7_URB_GRF_START0__SHIFT                       16
  1408. #define GEN8_PS_DW7_URB_GRF_START1__MASK                        0x00007f00
  1409. #define GEN8_PS_DW7_URB_GRF_START1__SHIFT                       8
  1410. #define GEN8_PS_DW7_URB_GRF_START2__MASK                        0x0000007f
  1411. #define GEN8_PS_DW7_URB_GRF_START2__SHIFT                       0
  1412.  
  1413. #define GEN8_PS_DW8_KERNEL1_ADDR__MASK                          0xffffffc0
  1414. #define GEN8_PS_DW8_KERNEL1_ADDR__SHIFT                         6
  1415. #define GEN8_PS_DW8_KERNEL1_ADDR__SHR                           6
  1416.  
  1417.  
  1418. #define GEN8_PS_DW10_KERNEL2_ADDR__MASK                         0xffffffc0
  1419. #define GEN8_PS_DW10_KERNEL2_ADDR__SHIFT                        6
  1420. #define GEN8_PS_DW10_KERNEL2_ADDR__SHR                          6
  1421.  
  1422.  
  1423. #define GEN8_3DSTATE_PS_EXTRA__SIZE                             2
  1424.  
  1425.  
  1426. #define GEN8_PSX_DW1_DISPATCH_ENABLE                            (0x1 << 31)
  1427. #define GEN8_PSX_DW1_UAV_ONLY                                   (0x1 << 30)
  1428. #define GEN8_PSX_DW1_COMPUTE_OMASK                              (0x1 << 29)
  1429. #define GEN8_PSX_DW1_KILL_PIXEL                                 (0x1 << 28)
  1430. #define GEN8_PSX_DW1_PSCDEPTH__MASK                             0x0c000000
  1431. #define GEN8_PSX_DW1_PSCDEPTH__SHIFT                            26
  1432. #define GEN8_PSX_DW1_PSCDEPTH_OFF                               (0x0 << 26)
  1433. #define GEN8_PSX_DW1_PSCDEPTH_ON                                (0x1 << 26)
  1434. #define GEN8_PSX_DW1_PSCDEPTH_ON_GE                             (0x2 << 26)
  1435. #define GEN8_PSX_DW1_PSCDEPTH_ON_LE                             (0x3 << 26)
  1436. #define GEN8_PSX_DW1_FORCE_COMPUTE_DEPTH                        (0x1 << 25)
  1437. #define GEN8_PSX_DW1_USE_DEPTH                                  (0x1 << 24)
  1438. #define GEN8_PSX_DW1_USE_W                                      (0x1 << 23)
  1439. #define GEN8_PSX_DW1_ATTR_ENABLE                                (0x1 << 8)
  1440. #define GEN8_PSX_DW1_DISABLE_ALPHA_TO_COVERAGE                  (0x1 << 7)
  1441. #define GEN8_PSX_DW1_PER_SAMPLE                                 (0x1 << 6)
  1442. #define GEN8_PSX_DW1_COMPUTE_STENCIL                            (0x1 << 5)
  1443. #define GEN8_PSX_DW1_ACCESS_UAV                                 (0x1 << 2)
  1444. #define GEN8_PSX_DW1_USE_COVERAGE_MASK                          (0x1 << 1)
  1445.  
  1446. #define GEN8_3DSTATE_PS_BLEND__SIZE                             2
  1447.  
  1448.  
  1449. #define GEN8_PS_BLEND_DW1_ALPHA_TO_COVERAGE                     (0x1 << 31)
  1450. #define GEN8_PS_BLEND_DW1_WRITABLE_RT                           (0x1 << 30)
  1451. #define GEN8_PS_BLEND_DW1_BLEND_ENABLE                          (0x1 << 29)
  1452. #define GEN8_PS_BLEND_DW1_SRC_ALPHA_FACTOR__MASK                0x1f000000
  1453. #define GEN8_PS_BLEND_DW1_SRC_ALPHA_FACTOR__SHIFT               24
  1454. #define GEN8_PS_BLEND_DW1_DST_ALPHA_FACTOR__MASK                0x00f80000
  1455. #define GEN8_PS_BLEND_DW1_DST_ALPHA_FACTOR__SHIFT               19
  1456. #define GEN8_PS_BLEND_DW1_SRC_COLOR_FACTOR__MASK                0x0007c000
  1457. #define GEN8_PS_BLEND_DW1_SRC_COLOR_FACTOR__SHIFT               14
  1458. #define GEN8_PS_BLEND_DW1_DST_COLOR_FACTOR__MASK                0x00003e00
  1459. #define GEN8_PS_BLEND_DW1_DST_COLOR_FACTOR__SHIFT               9
  1460. #define GEN8_PS_BLEND_DW1_ALPHA_TEST_ENABLE                     (0x1 << 8)
  1461. #define GEN8_PS_BLEND_DW1_INDEPENDENT_ALPHA_ENABLE              (0x1 << 7)
  1462.  
  1463. #define GEN6_3DSTATE_CONSTANT_ANY__SIZE                         11
  1464.  
  1465. #define GEN6_CONSTANT_DW0_BUFFER_ENABLES__MASK                  0x0000f000
  1466. #define GEN6_CONSTANT_DW0_BUFFER_ENABLES__SHIFT                 12
  1467. #define GEN6_CONSTANT_DW0_MOCS__MASK                            0x00000f00
  1468. #define GEN6_CONSTANT_DW0_MOCS__SHIFT                           8
  1469.  
  1470. #define GEN6_CONSTANT_DW_ADDR_READ_LEN__MASK                    0x0000001f
  1471. #define GEN6_CONSTANT_DW_ADDR_READ_LEN__SHIFT                   0
  1472. #define GEN6_CONSTANT_DW_ADDR_ADDR__MASK                        0xffffffe0
  1473. #define GEN6_CONSTANT_DW_ADDR_ADDR__SHIFT                       5
  1474. #define GEN6_CONSTANT_DW_ADDR_ADDR__SHR                         5
  1475.  
  1476.  
  1477.  
  1478. #define GEN7_CONSTANT_DW1_BUFFER1_READ_LEN__MASK                0xffff0000
  1479. #define GEN7_CONSTANT_DW1_BUFFER1_READ_LEN__SHIFT               16
  1480. #define GEN7_CONSTANT_DW1_BUFFER0_READ_LEN__MASK                0x0000ffff
  1481. #define GEN7_CONSTANT_DW1_BUFFER0_READ_LEN__SHIFT               0
  1482.  
  1483. #define GEN7_CONSTANT_DW2_BUFFER3_READ_LEN__MASK                0xffff0000
  1484. #define GEN7_CONSTANT_DW2_BUFFER3_READ_LEN__SHIFT               16
  1485. #define GEN7_CONSTANT_DW2_BUFFER2_READ_LEN__MASK                0x0000ffff
  1486. #define GEN7_CONSTANT_DW2_BUFFER2_READ_LEN__SHIFT               0
  1487.  
  1488. #define GEN7_CONSTANT_DW_ADDR_MOCS__MASK                        0x0000001f
  1489. #define GEN7_CONSTANT_DW_ADDR_MOCS__SHIFT                       0
  1490. #define GEN7_CONSTANT_DW_ADDR_ADDR__MASK                        0xffffffe0
  1491. #define GEN7_CONSTANT_DW_ADDR_ADDR__SHIFT                       5
  1492. #define GEN7_CONSTANT_DW_ADDR_ADDR__SHR                         5
  1493.  
  1494. #define GEN8_CONSTANT_DW_ADDR_ADDR__MASK                        0xffffffe0
  1495. #define GEN8_CONSTANT_DW_ADDR_ADDR__SHIFT                       5
  1496. #define GEN8_CONSTANT_DW_ADDR_ADDR__SHR                         5
  1497.  
  1498. #define GEN6_3DSTATE_SAMPLE_MASK__SIZE                          2
  1499.  
  1500.  
  1501. #define GEN6_SAMPLE_MASK_DW1_VAL__MASK                          0x0000000f
  1502. #define GEN6_SAMPLE_MASK_DW1_VAL__SHIFT                         0
  1503. #define GEN7_SAMPLE_MASK_DW1_VAL__MASK                          0x000000ff
  1504. #define GEN7_SAMPLE_MASK_DW1_VAL__SHIFT                         0
  1505. #define GEN8_SAMPLE_MASK_DW1_VAL__MASK                          0x0000ffff
  1506. #define GEN8_SAMPLE_MASK_DW1_VAL__SHIFT                         0
  1507.  
  1508. #define GEN6_3DSTATE_DRAWING_RECTANGLE__SIZE                    4
  1509.  
  1510.  
  1511. #define GEN6_DRAWING_RECTANGLE_DW1_MIN_Y__MASK                  0xffff0000
  1512. #define GEN6_DRAWING_RECTANGLE_DW1_MIN_Y__SHIFT                 16
  1513. #define GEN6_DRAWING_RECTANGLE_DW1_MIN_X__MASK                  0x0000ffff
  1514. #define GEN6_DRAWING_RECTANGLE_DW1_MIN_X__SHIFT                 0
  1515.  
  1516. #define GEN6_DRAWING_RECTANGLE_DW2_MAX_Y__MASK                  0xffff0000
  1517. #define GEN6_DRAWING_RECTANGLE_DW2_MAX_Y__SHIFT                 16
  1518. #define GEN6_DRAWING_RECTANGLE_DW2_MAX_X__MASK                  0x0000ffff
  1519. #define GEN6_DRAWING_RECTANGLE_DW2_MAX_X__SHIFT                 0
  1520.  
  1521. #define GEN6_DRAWING_RECTANGLE_DW3_ORIGIN_Y__MASK               0xffff0000
  1522. #define GEN6_DRAWING_RECTANGLE_DW3_ORIGIN_Y__SHIFT              16
  1523. #define GEN6_DRAWING_RECTANGLE_DW3_ORIGIN_X__MASK               0x0000ffff
  1524. #define GEN6_DRAWING_RECTANGLE_DW3_ORIGIN_X__SHIFT              0
  1525.  
  1526. #define GEN6_3DSTATE_DEPTH_BUFFER__SIZE                         8
  1527.  
  1528.  
  1529. #define GEN6_DEPTH_DW1_TYPE__MASK                               0xe0000000
  1530. #define GEN6_DEPTH_DW1_TYPE__SHIFT                              29
  1531. #define GEN6_DEPTH_DW1_TILING__MASK                             0x0c000000
  1532. #define GEN6_DEPTH_DW1_TILING__SHIFT                            26
  1533. #define GEN6_DEPTH_DW1_STR_MODE__MASK                           0x01800000
  1534. #define GEN6_DEPTH_DW1_STR_MODE__SHIFT                          23
  1535. #define GEN6_DEPTH_DW1_HIZ_ENABLE                               (0x1 << 22)
  1536. #define GEN6_DEPTH_DW1_SEPARATE_STENCIL                         (0x1 << 21)
  1537. #define GEN6_DEPTH_DW1_FORMAT__MASK                             0x001c0000
  1538. #define GEN6_DEPTH_DW1_FORMAT__SHIFT                            18
  1539. #define GEN6_DEPTH_DW1_PITCH__MASK                              0x0001ffff
  1540. #define GEN6_DEPTH_DW1_PITCH__SHIFT                             0
  1541.  
  1542.  
  1543. #define GEN6_DEPTH_DW3_HEIGHT__MASK                             0xfff80000
  1544. #define GEN6_DEPTH_DW3_HEIGHT__SHIFT                            19
  1545. #define GEN6_DEPTH_DW3_WIDTH__MASK                              0x0007ffc0
  1546. #define GEN6_DEPTH_DW3_WIDTH__SHIFT                             6
  1547. #define GEN6_DEPTH_DW3_LOD__MASK                                0x0000003c
  1548. #define GEN6_DEPTH_DW3_LOD__SHIFT                               2
  1549. #define GEN6_DEPTH_DW3_MIPLAYOUT__MASK                          0x00000002
  1550. #define GEN6_DEPTH_DW3_MIPLAYOUT__SHIFT                         1
  1551. #define GEN6_DEPTH_DW3_MIPLAYOUT_BELOW                          (0x0 << 1)
  1552. #define GEN6_DEPTH_DW3_MIPLAYOUT_RIGHT                          (0x1 << 1)
  1553.  
  1554. #define GEN6_DEPTH_DW4_DEPTH__MASK                              0xffe00000
  1555. #define GEN6_DEPTH_DW4_DEPTH__SHIFT                             21
  1556. #define GEN6_DEPTH_DW4_MIN_ARRAY_ELEMENT__MASK                  0x001ffc00
  1557. #define GEN6_DEPTH_DW4_MIN_ARRAY_ELEMENT__SHIFT                 10
  1558. #define GEN6_DEPTH_DW4_RT_VIEW_EXTENT__MASK                     0x000003fe
  1559. #define GEN6_DEPTH_DW4_RT_VIEW_EXTENT__SHIFT                    1
  1560.  
  1561. #define GEN6_DEPTH_DW5_OFFSET_Y__MASK                           0xffff0000
  1562. #define GEN6_DEPTH_DW5_OFFSET_Y__SHIFT                          16
  1563. #define GEN6_DEPTH_DW5_OFFSET_X__MASK                           0x0000ffff
  1564. #define GEN6_DEPTH_DW5_OFFSET_X__SHIFT                          0
  1565.  
  1566. #define GEN6_DEPTH_DW6_MOCS__MASK                               0xf8000000
  1567. #define GEN6_DEPTH_DW6_MOCS__SHIFT                              27
  1568.  
  1569.  
  1570.  
  1571. #define GEN7_DEPTH_DW1_TYPE__MASK                               0xe0000000
  1572. #define GEN7_DEPTH_DW1_TYPE__SHIFT                              29
  1573. #define GEN7_DEPTH_DW1_DEPTH_WRITE_ENABLE                       (0x1 << 28)
  1574. #define GEN7_DEPTH_DW1_STENCIL_WRITE_ENABLE                     (0x1 << 27)
  1575. #define GEN7_DEPTH_DW1_HIZ_ENABLE                               (0x1 << 22)
  1576. #define GEN7_DEPTH_DW1_FORMAT__MASK                             0x001c0000
  1577. #define GEN7_DEPTH_DW1_FORMAT__SHIFT                            18
  1578. #define GEN7_DEPTH_DW1_PITCH__MASK                              0x0003ffff
  1579. #define GEN7_DEPTH_DW1_PITCH__SHIFT                             0
  1580.  
  1581.  
  1582. #define GEN7_DEPTH_DW3_HEIGHT__MASK                             0xfffc0000
  1583. #define GEN7_DEPTH_DW3_HEIGHT__SHIFT                            18
  1584. #define GEN7_DEPTH_DW3_WIDTH__MASK                              0x0003fff0
  1585. #define GEN7_DEPTH_DW3_WIDTH__SHIFT                             4
  1586. #define GEN7_DEPTH_DW3_LOD__MASK                                0x0000000f
  1587. #define GEN7_DEPTH_DW3_LOD__SHIFT                               0
  1588.  
  1589. #define GEN7_DEPTH_DW4_DEPTH__MASK                              0xffe00000
  1590. #define GEN7_DEPTH_DW4_DEPTH__SHIFT                             21
  1591. #define GEN7_DEPTH_DW4_MIN_ARRAY_ELEMENT__MASK                  0x001ffc00
  1592. #define GEN7_DEPTH_DW4_MIN_ARRAY_ELEMENT__SHIFT                 10
  1593. #define GEN7_DEPTH_DW4_MOCS__MASK                               0x0000000f
  1594. #define GEN7_DEPTH_DW4_MOCS__SHIFT                              0
  1595.  
  1596. #define GEN7_DEPTH_DW5_OFFSET_Y__MASK                           0xffff0000
  1597. #define GEN7_DEPTH_DW5_OFFSET_Y__SHIFT                          16
  1598. #define GEN7_DEPTH_DW5_OFFSET_X__MASK                           0x0000ffff
  1599. #define GEN7_DEPTH_DW5_OFFSET_X__SHIFT                          0
  1600.  
  1601. #define GEN7_DEPTH_DW6_RT_VIEW_EXTENT__MASK                     0xffe00000
  1602. #define GEN7_DEPTH_DW6_RT_VIEW_EXTENT__SHIFT                    21
  1603.  
  1604.  
  1605.  
  1606. #define GEN8_DEPTH_DW1_TYPE__MASK                               0xe0000000
  1607. #define GEN8_DEPTH_DW1_TYPE__SHIFT                              29
  1608. #define GEN8_DEPTH_DW1_DEPTH_WRITE_ENABLE                       (0x1 << 28)
  1609. #define GEN8_DEPTH_DW1_STENCIL_WRITE_ENABLE                     (0x1 << 27)
  1610. #define GEN8_DEPTH_DW1_HIZ_ENABLE                               (0x1 << 22)
  1611. #define GEN8_DEPTH_DW1_FORMAT__MASK                             0x001c0000
  1612. #define GEN8_DEPTH_DW1_FORMAT__SHIFT                            18
  1613. #define GEN8_DEPTH_DW1_PITCH__MASK                              0x0003ffff
  1614. #define GEN8_DEPTH_DW1_PITCH__SHIFT                             0
  1615.  
  1616.  
  1617.  
  1618. #define GEN8_DEPTH_DW4_HEIGHT__MASK                             0xfffc0000
  1619. #define GEN8_DEPTH_DW4_HEIGHT__SHIFT                            18
  1620. #define GEN8_DEPTH_DW4_WIDTH__MASK                              0x0003fff0
  1621. #define GEN8_DEPTH_DW4_WIDTH__SHIFT                             4
  1622. #define GEN8_DEPTH_DW4_LOD__MASK                                0x0000000f
  1623. #define GEN8_DEPTH_DW4_LOD__SHIFT                               0
  1624.  
  1625. #define GEN8_DEPTH_DW5_DEPTH__MASK                              0xffe00000
  1626. #define GEN8_DEPTH_DW5_DEPTH__SHIFT                             21
  1627. #define GEN8_DEPTH_DW5_MIN_ARRAY_ELEMENT__MASK                  0x001ffc00
  1628. #define GEN8_DEPTH_DW5_MIN_ARRAY_ELEMENT__SHIFT                 10
  1629. #define GEN8_DEPTH_DW5_MOCS__MASK                               0x0000007f
  1630. #define GEN8_DEPTH_DW5_MOCS__SHIFT                              0
  1631.  
  1632. #define GEN8_DEPTH_DW6_OFFSET_Y__MASK                           0xffff0000
  1633. #define GEN8_DEPTH_DW6_OFFSET_Y__SHIFT                          16
  1634. #define GEN8_DEPTH_DW6_OFFSET_X__MASK                           0x0000ffff
  1635. #define GEN8_DEPTH_DW6_OFFSET_X__SHIFT                          0
  1636.  
  1637. #define GEN8_DEPTH_DW7_RT_VIEW_EXTENT__MASK                     0xffe00000
  1638. #define GEN8_DEPTH_DW7_RT_VIEW_EXTENT__SHIFT                    21
  1639. #define GEN8_DEPTH_DW7_QPITCH__MASK                             0x00007fff
  1640. #define GEN8_DEPTH_DW7_QPITCH__SHIFT                            0
  1641.  
  1642. #define GEN6_3DSTATE_POLY_STIPPLE_OFFSET__SIZE                  2
  1643.  
  1644.  
  1645. #define GEN6_POLY_STIPPLE_OFFSET_DW1_X__MASK                    0x00001f00
  1646. #define GEN6_POLY_STIPPLE_OFFSET_DW1_X__SHIFT                   8
  1647. #define GEN6_POLY_STIPPLE_OFFSET_DW1_Y__MASK                    0x0000001f
  1648. #define GEN6_POLY_STIPPLE_OFFSET_DW1_Y__SHIFT                   0
  1649.  
  1650. #define GEN6_3DSTATE_POLY_STIPPLE_PATTERN__SIZE                 33
  1651.  
  1652.  
  1653.  
  1654. #define GEN6_3DSTATE_LINE_STIPPLE__SIZE                         3
  1655.  
  1656.  
  1657. #define GEN6_LINE_STIPPLE_DW1_PATTERN__MASK                     0x0000ffff
  1658. #define GEN6_LINE_STIPPLE_DW1_PATTERN__SHIFT                    0
  1659.  
  1660. #define GEN6_LINE_STIPPLE_DW2_INVERSE_REPEAT_COUNT__MASK        0xffff0000
  1661. #define GEN6_LINE_STIPPLE_DW2_INVERSE_REPEAT_COUNT__SHIFT       16
  1662. #define GEN6_LINE_STIPPLE_DW2_INVERSE_REPEAT_COUNT__RADIX       13
  1663. #define GEN7_LINE_STIPPLE_DW2_INVERSE_REPEAT_COUNT__MASK        0xffff8000
  1664. #define GEN7_LINE_STIPPLE_DW2_INVERSE_REPEAT_COUNT__SHIFT       15
  1665. #define GEN7_LINE_STIPPLE_DW2_INVERSE_REPEAT_COUNT__RADIX       16
  1666. #define GEN6_LINE_STIPPLE_DW2_REPEAT_COUNT__MASK                0x000001ff
  1667. #define GEN6_LINE_STIPPLE_DW2_REPEAT_COUNT__SHIFT               0
  1668.  
  1669. #define GEN6_3DSTATE_AA_LINE_PARAMETERS__SIZE                   3
  1670.  
  1671.  
  1672. #define GEN6_AA_LINE_DW1_BIAS__MASK                             0x00ff0000
  1673. #define GEN6_AA_LINE_DW1_BIAS__SHIFT                            16
  1674. #define GEN6_AA_LINE_DW1_BIAS__RADIX                            8
  1675. #define GEN6_AA_LINE_DW1_SLOPE__MASK                            0x000000ff
  1676. #define GEN6_AA_LINE_DW1_SLOPE__SHIFT                           0
  1677. #define GEN6_AA_LINE_DW1_SLOPE__RADIX                           8
  1678.  
  1679. #define GEN6_AA_LINE_DW2_CAP_BIAS__MASK                         0x00ff0000
  1680. #define GEN6_AA_LINE_DW2_CAP_BIAS__SHIFT                        16
  1681. #define GEN6_AA_LINE_DW2_CAP_BIAS__RADIX                        8
  1682. #define GEN6_AA_LINE_DW2_CAP_SLOPE__MASK                        0x000000ff
  1683. #define GEN6_AA_LINE_DW2_CAP_SLOPE__SHIFT                       0
  1684. #define GEN6_AA_LINE_DW2_CAP_SLOPE__RADIX                       8
  1685.  
  1686. #define GEN6_3DSTATE_GS_SVB_INDEX__SIZE                         4
  1687.  
  1688.  
  1689. #define GEN6_SVBI_DW1_INDEX__MASK                               0x60000000
  1690. #define GEN6_SVBI_DW1_INDEX__SHIFT                              29
  1691. #define GEN6_SVBI_DW1_LOAD_INTERNAL_VERTEX_COUNT                (0x1 << 0)
  1692.  
  1693.  
  1694.  
  1695. #define GEN6_3DSTATE_MULTISAMPLE__SIZE                          4
  1696.  
  1697.  
  1698. #define GEN75_MULTISAMPLE_DW1_DX9_MULTISAMPLE_ENABLE            (0x1 << 5)
  1699. #define GEN6_MULTISAMPLE_DW1_PIXLOC__MASK                       0x00000010
  1700. #define GEN6_MULTISAMPLE_DW1_PIXLOC__SHIFT                      4
  1701. #define GEN6_MULTISAMPLE_DW1_PIXLOC_CENTER                      (0x0 << 4)
  1702. #define GEN6_MULTISAMPLE_DW1_PIXLOC_UL_CORNER                   (0x1 << 4)
  1703. #define GEN6_MULTISAMPLE_DW1_NUMSAMPLES__MASK                   0x0000000e
  1704. #define GEN6_MULTISAMPLE_DW1_NUMSAMPLES__SHIFT                  1
  1705. #define GEN6_MULTISAMPLE_DW1_NUMSAMPLES_1                       (0x0 << 1)
  1706. #define GEN8_MULTISAMPLE_DW1_NUMSAMPLES_2                       (0x1 << 1)
  1707. #define GEN6_MULTISAMPLE_DW1_NUMSAMPLES_4                       (0x2 << 1)
  1708. #define GEN7_MULTISAMPLE_DW1_NUMSAMPLES_8                       (0x3 << 1)
  1709. #define GEN8_MULTISAMPLE_DW1_NUMSAMPLES_16                      (0x4 << 1)
  1710.  
  1711.  
  1712.  
  1713. #define GEN8_3DSTATE_SAMPLE_PATTERN__SIZE                       9
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719. #define GEN8_SAMPLE_PATTERN_DW8_1X__MASK                        0x00ff0000
  1720. #define GEN8_SAMPLE_PATTERN_DW8_1X__SHIFT                       16
  1721. #define GEN8_SAMPLE_PATTERN_DW8_2X__MASK                        0x0000ffff
  1722. #define GEN8_SAMPLE_PATTERN_DW8_2X__SHIFT                       0
  1723.  
  1724. #define GEN6_3DSTATE_STENCIL_BUFFER__SIZE                       5
  1725.  
  1726.  
  1727. #define GEN75_STENCIL_DW1_STENCIL_BUFFER_ENABLE                 (0x1 << 31)
  1728. #define GEN6_STENCIL_DW1_MOCS__MASK                             0x1e000000
  1729. #define GEN6_STENCIL_DW1_MOCS__SHIFT                            25
  1730. #define GEN8_STENCIL_DW1_MOCS__MASK                             0x1fc00000
  1731. #define GEN8_STENCIL_DW1_MOCS__SHIFT                            22
  1732. #define GEN6_STENCIL_DW1_PITCH__MASK                            0x0001ffff
  1733. #define GEN6_STENCIL_DW1_PITCH__SHIFT                           0
  1734.  
  1735.  
  1736.  
  1737. #define GEN8_STENCIL_DW4_QPITCH__MASK                           0x00007fff
  1738. #define GEN8_STENCIL_DW4_QPITCH__SHIFT                          0
  1739.  
  1740. #define GEN6_3DSTATE_HIER_DEPTH_BUFFER__SIZE                    5
  1741.  
  1742.  
  1743. #define GEN6_HIZ_DW1_MOCS__MASK                                 0x1e000000
  1744. #define GEN6_HIZ_DW1_MOCS__SHIFT                                25
  1745. #define GEN8_HIZ_DW1_MOCS__MASK                                 0xfe000000
  1746. #define GEN8_HIZ_DW1_MOCS__SHIFT                                25
  1747. #define GEN6_HIZ_DW1_PITCH__MASK                                0x0001ffff
  1748. #define GEN6_HIZ_DW1_PITCH__SHIFT                               0
  1749.  
  1750.  
  1751.  
  1752. #define GEN8_HIZ_DW4_QPITCH__MASK                               0x00007fff
  1753. #define GEN8_HIZ_DW4_QPITCH__SHIFT                              0
  1754.  
  1755. #define GEN6_3DSTATE_CLEAR_PARAMS__SIZE                         3
  1756.  
  1757. #define GEN6_CLEAR_PARAMS_DW0_VALID                             (0x1 << 15)
  1758.  
  1759.  
  1760.  
  1761. #define GEN7_CLEAR_PARAMS_DW2_VALID                             (0x1 << 0)
  1762.  
  1763. #define GEN6_3DPRIMITIVE__SIZE                                  7
  1764.  
  1765. #define GEN6_3DPRIM_DW0_ACCESS__MASK                            0x00008000
  1766. #define GEN6_3DPRIM_DW0_ACCESS__SHIFT                           15
  1767. #define GEN6_3DPRIM_DW0_ACCESS_SEQUENTIAL                       (0x0 << 15)
  1768. #define GEN6_3DPRIM_DW0_ACCESS_RANDOM                           (0x1 << 15)
  1769. #define GEN6_3DPRIM_DW0_TYPE__MASK                              0x00007c00
  1770. #define GEN6_3DPRIM_DW0_TYPE__SHIFT                             10
  1771. #define GEN6_3DPRIM_DW0_USE_INTERNAL_VERTEX_COUNT               (0x1 << 9)
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779. #define GEN7_3DPRIM_DW0_INDIRECT_PARAM_ENABLE                   (0x1 << 10)
  1780. #define GEN75_3DPRIM_DW0_UAV_COHERENCY_REQUIRED                 (0x1 << 9)
  1781. #define GEN7_3DPRIM_DW0_PREDICATE_ENABLE                        (0x1 << 8)
  1782.  
  1783. #define GEN7_3DPRIM_DW1_END_OFFSET_ENABLE                       (0x1 << 9)
  1784. #define GEN7_3DPRIM_DW1_ACCESS__MASK                            0x00000100
  1785. #define GEN7_3DPRIM_DW1_ACCESS__SHIFT                           8
  1786. #define GEN7_3DPRIM_DW1_ACCESS_SEQUENTIAL                       (0x0 << 8)
  1787. #define GEN7_3DPRIM_DW1_ACCESS_RANDOM                           (0x1 << 8)
  1788. #define GEN7_3DPRIM_DW1_TYPE__MASK                              0x0000003f
  1789. #define GEN7_3DPRIM_DW1_TYPE__SHIFT                             0
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797. #endif /* GEN_RENDER_3D_XML */
  1798.