Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. #ifndef GEN_RENDER_SURFACE_XML
  2. #define GEN_RENDER_SURFACE_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_surface_format {
  36.     GEN6_FORMAT_R32G32B32A32_FLOAT                            = 0x0,
  37.     GEN6_FORMAT_R32G32B32A32_SINT                             = 0x1,
  38.     GEN6_FORMAT_R32G32B32A32_UINT                             = 0x2,
  39.     GEN6_FORMAT_R32G32B32A32_UNORM                            = 0x3,
  40.     GEN6_FORMAT_R32G32B32A32_SNORM                            = 0x4,
  41.     GEN6_FORMAT_R64G64_FLOAT                                  = 0x5,
  42.     GEN6_FORMAT_R32G32B32X32_FLOAT                            = 0x6,
  43.     GEN6_FORMAT_R32G32B32A32_SSCALED                          = 0x7,
  44.     GEN6_FORMAT_R32G32B32A32_USCALED                          = 0x8,
  45.     GEN6_FORMAT_R32G32B32A32_SFIXED                           = 0x20,
  46.     GEN6_FORMAT_R64G64_PASSTHRU                               = 0x21,
  47.     GEN6_FORMAT_R32G32B32_FLOAT                               = 0x40,
  48.     GEN6_FORMAT_R32G32B32_SINT                                = 0x41,
  49.     GEN6_FORMAT_R32G32B32_UINT                                = 0x42,
  50.     GEN6_FORMAT_R32G32B32_UNORM                               = 0x43,
  51.     GEN6_FORMAT_R32G32B32_SNORM                               = 0x44,
  52.     GEN6_FORMAT_R32G32B32_SSCALED                             = 0x45,
  53.     GEN6_FORMAT_R32G32B32_USCALED                             = 0x46,
  54.     GEN6_FORMAT_R32G32B32_SFIXED                              = 0x50,
  55.     GEN6_FORMAT_R16G16B16A16_UNORM                            = 0x80,
  56.     GEN6_FORMAT_R16G16B16A16_SNORM                            = 0x81,
  57.     GEN6_FORMAT_R16G16B16A16_SINT                             = 0x82,
  58.     GEN6_FORMAT_R16G16B16A16_UINT                             = 0x83,
  59.     GEN6_FORMAT_R16G16B16A16_FLOAT                            = 0x84,
  60.     GEN6_FORMAT_R32G32_FLOAT                                  = 0x85,
  61.     GEN6_FORMAT_R32G32_SINT                                   = 0x86,
  62.     GEN6_FORMAT_R32G32_UINT                                   = 0x87,
  63.     GEN6_FORMAT_R32_FLOAT_X8X24_TYPELESS                      = 0x88,
  64.     GEN6_FORMAT_X32_TYPELESS_G8X24_UINT                       = 0x89,
  65.     GEN6_FORMAT_L32A32_FLOAT                                  = 0x8a,
  66.     GEN6_FORMAT_R32G32_UNORM                                  = 0x8b,
  67.     GEN6_FORMAT_R32G32_SNORM                                  = 0x8c,
  68.     GEN6_FORMAT_R64_FLOAT                                     = 0x8d,
  69.     GEN6_FORMAT_R16G16B16X16_UNORM                            = 0x8e,
  70.     GEN6_FORMAT_R16G16B16X16_FLOAT                            = 0x8f,
  71.     GEN6_FORMAT_A32X32_FLOAT                                  = 0x90,
  72.     GEN6_FORMAT_L32X32_FLOAT                                  = 0x91,
  73.     GEN6_FORMAT_I32X32_FLOAT                                  = 0x92,
  74.     GEN6_FORMAT_R16G16B16A16_SSCALED                          = 0x93,
  75.     GEN6_FORMAT_R16G16B16A16_USCALED                          = 0x94,
  76.     GEN6_FORMAT_R32G32_SSCALED                                = 0x95,
  77.     GEN6_FORMAT_R32G32_USCALED                                = 0x96,
  78.     GEN6_FORMAT_R32G32_SFIXED                                 = 0xa0,
  79.     GEN6_FORMAT_R64_PASSTHRU                                  = 0xa1,
  80.     GEN6_FORMAT_B8G8R8A8_UNORM                                = 0xc0,
  81.     GEN6_FORMAT_B8G8R8A8_UNORM_SRGB                           = 0xc1,
  82.     GEN6_FORMAT_R10G10B10A2_UNORM                             = 0xc2,
  83.     GEN6_FORMAT_R10G10B10A2_UNORM_SRGB                        = 0xc3,
  84.     GEN6_FORMAT_R10G10B10A2_UINT                              = 0xc4,
  85.     GEN6_FORMAT_R10G10B10_SNORM_A2_UNORM                      = 0xc5,
  86.     GEN6_FORMAT_R8G8B8A8_UNORM                                = 0xc7,
  87.     GEN6_FORMAT_R8G8B8A8_UNORM_SRGB                           = 0xc8,
  88.     GEN6_FORMAT_R8G8B8A8_SNORM                                = 0xc9,
  89.     GEN6_FORMAT_R8G8B8A8_SINT                                 = 0xca,
  90.     GEN6_FORMAT_R8G8B8A8_UINT                                 = 0xcb,
  91.     GEN6_FORMAT_R16G16_UNORM                                  = 0xcc,
  92.     GEN6_FORMAT_R16G16_SNORM                                  = 0xcd,
  93.     GEN6_FORMAT_R16G16_SINT                                   = 0xce,
  94.     GEN6_FORMAT_R16G16_UINT                                   = 0xcf,
  95.     GEN6_FORMAT_R16G16_FLOAT                                  = 0xd0,
  96.     GEN6_FORMAT_B10G10R10A2_UNORM                             = 0xd1,
  97.     GEN6_FORMAT_B10G10R10A2_UNORM_SRGB                        = 0xd2,
  98.     GEN6_FORMAT_R11G11B10_FLOAT                               = 0xd3,
  99.     GEN6_FORMAT_R32_SINT                                      = 0xd6,
  100.     GEN6_FORMAT_R32_UINT                                      = 0xd7,
  101.     GEN6_FORMAT_R32_FLOAT                                     = 0xd8,
  102.     GEN6_FORMAT_R24_UNORM_X8_TYPELESS                         = 0xd9,
  103.     GEN6_FORMAT_X24_TYPELESS_G8_UINT                          = 0xda,
  104.     GEN6_FORMAT_L32_UNORM                                     = 0xdd,
  105.     GEN6_FORMAT_A32_UNORM                                     = 0xde,
  106.     GEN6_FORMAT_L16A16_UNORM                                  = 0xdf,
  107.     GEN6_FORMAT_I24X8_UNORM                                   = 0xe0,
  108.     GEN6_FORMAT_L24X8_UNORM                                   = 0xe1,
  109.     GEN6_FORMAT_A24X8_UNORM                                   = 0xe2,
  110.     GEN6_FORMAT_I32_FLOAT                                     = 0xe3,
  111.     GEN6_FORMAT_L32_FLOAT                                     = 0xe4,
  112.     GEN6_FORMAT_A32_FLOAT                                     = 0xe5,
  113.     GEN6_FORMAT_X8B8_UNORM_G8R8_SNORM                         = 0xe6,
  114.     GEN6_FORMAT_A8X8_UNORM_G8R8_SNORM                         = 0xe7,
  115.     GEN6_FORMAT_B8X8_UNORM_G8R8_SNORM                         = 0xe8,
  116.     GEN6_FORMAT_B8G8R8X8_UNORM                                = 0xe9,
  117.     GEN6_FORMAT_B8G8R8X8_UNORM_SRGB                           = 0xea,
  118.     GEN6_FORMAT_R8G8B8X8_UNORM                                = 0xeb,
  119.     GEN6_FORMAT_R8G8B8X8_UNORM_SRGB                           = 0xec,
  120.     GEN6_FORMAT_R9G9B9E5_SHAREDEXP                            = 0xed,
  121.     GEN6_FORMAT_B10G10R10X2_UNORM                             = 0xee,
  122.     GEN6_FORMAT_L16A16_FLOAT                                  = 0xf0,
  123.     GEN6_FORMAT_R32_UNORM                                     = 0xf1,
  124.     GEN6_FORMAT_R32_SNORM                                     = 0xf2,
  125.     GEN6_FORMAT_R10G10B10X2_USCALED                           = 0xf3,
  126.     GEN6_FORMAT_R8G8B8A8_SSCALED                              = 0xf4,
  127.     GEN6_FORMAT_R8G8B8A8_USCALED                              = 0xf5,
  128.     GEN6_FORMAT_R16G16_SSCALED                                = 0xf6,
  129.     GEN6_FORMAT_R16G16_USCALED                                = 0xf7,
  130.     GEN6_FORMAT_R32_SSCALED                                   = 0xf8,
  131.     GEN6_FORMAT_R32_USCALED                                   = 0xf9,
  132.     GEN6_FORMAT_B5G6R5_UNORM                                  = 0x100,
  133.     GEN6_FORMAT_B5G6R5_UNORM_SRGB                             = 0x101,
  134.     GEN6_FORMAT_B5G5R5A1_UNORM                                = 0x102,
  135.     GEN6_FORMAT_B5G5R5A1_UNORM_SRGB                           = 0x103,
  136.     GEN6_FORMAT_B4G4R4A4_UNORM                                = 0x104,
  137.     GEN6_FORMAT_B4G4R4A4_UNORM_SRGB                           = 0x105,
  138.     GEN6_FORMAT_R8G8_UNORM                                    = 0x106,
  139.     GEN6_FORMAT_R8G8_SNORM                                    = 0x107,
  140.     GEN6_FORMAT_R8G8_SINT                                     = 0x108,
  141.     GEN6_FORMAT_R8G8_UINT                                     = 0x109,
  142.     GEN6_FORMAT_R16_UNORM                                     = 0x10a,
  143.     GEN6_FORMAT_R16_SNORM                                     = 0x10b,
  144.     GEN6_FORMAT_R16_SINT                                      = 0x10c,
  145.     GEN6_FORMAT_R16_UINT                                      = 0x10d,
  146.     GEN6_FORMAT_R16_FLOAT                                     = 0x10e,
  147.     GEN6_FORMAT_A8P8_UNORM_PALETTE0                           = 0x10f,
  148.     GEN6_FORMAT_A8P8_UNORM_PALETTE1                           = 0x110,
  149.     GEN6_FORMAT_I16_UNORM                                     = 0x111,
  150.     GEN6_FORMAT_L16_UNORM                                     = 0x112,
  151.     GEN6_FORMAT_A16_UNORM                                     = 0x113,
  152.     GEN6_FORMAT_L8A8_UNORM                                    = 0x114,
  153.     GEN6_FORMAT_I16_FLOAT                                     = 0x115,
  154.     GEN6_FORMAT_L16_FLOAT                                     = 0x116,
  155.     GEN6_FORMAT_A16_FLOAT                                     = 0x117,
  156.     GEN6_FORMAT_L8A8_UNORM_SRGB                               = 0x118,
  157.     GEN6_FORMAT_R5G5_SNORM_B6_UNORM                           = 0x119,
  158.     GEN6_FORMAT_B5G5R5X1_UNORM                                = 0x11a,
  159.     GEN6_FORMAT_B5G5R5X1_UNORM_SRGB                           = 0x11b,
  160.     GEN6_FORMAT_R8G8_SSCALED                                  = 0x11c,
  161.     GEN6_FORMAT_R8G8_USCALED                                  = 0x11d,
  162.     GEN6_FORMAT_R16_SSCALED                                   = 0x11e,
  163.     GEN6_FORMAT_R16_USCALED                                   = 0x11f,
  164.     GEN6_FORMAT_P8A8_UNORM_PALETTE0                           = 0x122,
  165.     GEN6_FORMAT_P8A8_UNORM_PALETTE1                           = 0x123,
  166.     GEN6_FORMAT_A1B5G5R5_UNORM                                = 0x124,
  167.     GEN6_FORMAT_A4B4G4R4_UNORM                                = 0x125,
  168.     GEN6_FORMAT_L8A8_UINT                                     = 0x126,
  169.     GEN6_FORMAT_L8A8_SINT                                     = 0x127,
  170.     GEN6_FORMAT_R8_UNORM                                      = 0x140,
  171.     GEN6_FORMAT_R8_SNORM                                      = 0x141,
  172.     GEN6_FORMAT_R8_SINT                                       = 0x142,
  173.     GEN6_FORMAT_R8_UINT                                       = 0x143,
  174.     GEN6_FORMAT_A8_UNORM                                      = 0x144,
  175.     GEN6_FORMAT_I8_UNORM                                      = 0x145,
  176.     GEN6_FORMAT_L8_UNORM                                      = 0x146,
  177.     GEN6_FORMAT_P4A4_UNORM_PALETTE0                           = 0x147,
  178.     GEN6_FORMAT_A4P4_UNORM_PALETTE0                           = 0x148,
  179.     GEN6_FORMAT_R8_SSCALED                                    = 0x149,
  180.     GEN6_FORMAT_R8_USCALED                                    = 0x14a,
  181.     GEN6_FORMAT_P8_UNORM_PALETTE0                             = 0x14b,
  182.     GEN6_FORMAT_L8_UNORM_SRGB                                 = 0x14c,
  183.     GEN6_FORMAT_P8_UNORM_PALETTE1                             = 0x14d,
  184.     GEN6_FORMAT_P4A4_UNORM_PALETTE1                           = 0x14e,
  185.     GEN6_FORMAT_A4P4_UNORM_PALETTE1                           = 0x14f,
  186.     GEN6_FORMAT_Y8_UNORM                                      = 0x150,
  187.     GEN6_FORMAT_L8_UINT                                       = 0x152,
  188.     GEN6_FORMAT_L8_SINT                                       = 0x153,
  189.     GEN6_FORMAT_I8_UINT                                       = 0x154,
  190.     GEN6_FORMAT_I8_SINT                                       = 0x155,
  191.     GEN6_FORMAT_DXT1_RGB_SRGB                                 = 0x180,
  192.     GEN6_FORMAT_R1_UNORM                                      = 0x181,
  193.     GEN6_FORMAT_YCRCB_NORMAL                                  = 0x182,
  194.     GEN6_FORMAT_YCRCB_SWAPUVY                                 = 0x183,
  195.     GEN6_FORMAT_P2_UNORM_PALETTE0                             = 0x184,
  196.     GEN6_FORMAT_P2_UNORM_PALETTE1                             = 0x185,
  197.     GEN6_FORMAT_BC1_UNORM                                     = 0x186,
  198.     GEN6_FORMAT_BC2_UNORM                                     = 0x187,
  199.     GEN6_FORMAT_BC3_UNORM                                     = 0x188,
  200.     GEN6_FORMAT_BC4_UNORM                                     = 0x189,
  201.     GEN6_FORMAT_BC5_UNORM                                     = 0x18a,
  202.     GEN6_FORMAT_BC1_UNORM_SRGB                                = 0x18b,
  203.     GEN6_FORMAT_BC2_UNORM_SRGB                                = 0x18c,
  204.     GEN6_FORMAT_BC3_UNORM_SRGB                                = 0x18d,
  205.     GEN6_FORMAT_MONO8                                         = 0x18e,
  206.     GEN6_FORMAT_YCRCB_SWAPUV                                  = 0x18f,
  207.     GEN6_FORMAT_YCRCB_SWAPY                                   = 0x190,
  208.     GEN6_FORMAT_DXT1_RGB                                      = 0x191,
  209.     GEN6_FORMAT_FXT1                                          = 0x192,
  210.     GEN6_FORMAT_R8G8B8_UNORM                                  = 0x193,
  211.     GEN6_FORMAT_R8G8B8_SNORM                                  = 0x194,
  212.     GEN6_FORMAT_R8G8B8_SSCALED                                = 0x195,
  213.     GEN6_FORMAT_R8G8B8_USCALED                                = 0x196,
  214.     GEN6_FORMAT_R64G64B64A64_FLOAT                            = 0x197,
  215.     GEN6_FORMAT_R64G64B64_FLOAT                               = 0x198,
  216.     GEN6_FORMAT_BC4_SNORM                                     = 0x199,
  217.     GEN6_FORMAT_BC5_SNORM                                     = 0x19a,
  218.     GEN6_FORMAT_R16G16B16_FLOAT                               = 0x19b,
  219.     GEN6_FORMAT_R16G16B16_UNORM                               = 0x19c,
  220.     GEN6_FORMAT_R16G16B16_SNORM                               = 0x19d,
  221.     GEN6_FORMAT_R16G16B16_SSCALED                             = 0x19e,
  222.     GEN6_FORMAT_R16G16B16_USCALED                             = 0x19f,
  223.     GEN6_FORMAT_BC6H_SF16                                     = 0x1a1,
  224.     GEN6_FORMAT_BC7_UNORM                                     = 0x1a2,
  225.     GEN6_FORMAT_BC7_UNORM_SRGB                                = 0x1a3,
  226.     GEN6_FORMAT_BC6H_UF16                                     = 0x1a4,
  227.     GEN6_FORMAT_PLANAR_420_8                                  = 0x1a5,
  228.     GEN6_FORMAT_R8G8B8_UNORM_SRGB                             = 0x1a8,
  229.     GEN6_FORMAT_ETC1_RGB8                                     = 0x1a9,
  230.     GEN6_FORMAT_ETC2_RGB8                                     = 0x1aa,
  231.     GEN6_FORMAT_EAC_R11                                       = 0x1ab,
  232.     GEN6_FORMAT_EAC_RG11                                      = 0x1ac,
  233.     GEN6_FORMAT_EAC_SIGNED_R11                                = 0x1ad,
  234.     GEN6_FORMAT_EAC_SIGNED_RG11                               = 0x1ae,
  235.     GEN6_FORMAT_ETC2_SRGB8                                    = 0x1af,
  236.     GEN6_FORMAT_R16G16B16_UINT                                = 0x1b0,
  237.     GEN6_FORMAT_R16G16B16_SINT                                = 0x1b1,
  238.     GEN6_FORMAT_R32_SFIXED                                    = 0x1b2,
  239.     GEN6_FORMAT_R10G10B10A2_SNORM                             = 0x1b3,
  240.     GEN6_FORMAT_R10G10B10A2_USCALED                           = 0x1b4,
  241.     GEN6_FORMAT_R10G10B10A2_SSCALED                           = 0x1b5,
  242.     GEN6_FORMAT_R10G10B10A2_SINT                              = 0x1b6,
  243.     GEN6_FORMAT_B10G10R10A2_SNORM                             = 0x1b7,
  244.     GEN6_FORMAT_B10G10R10A2_USCALED                           = 0x1b8,
  245.     GEN6_FORMAT_B10G10R10A2_SSCALED                           = 0x1b9,
  246.     GEN6_FORMAT_B10G10R10A2_UINT                              = 0x1ba,
  247.     GEN6_FORMAT_B10G10R10A2_SINT                              = 0x1bb,
  248.     GEN6_FORMAT_R64G64B64A64_PASSTHRU                         = 0x1bc,
  249.     GEN6_FORMAT_R64G64B64_PASSTHRU                            = 0x1bd,
  250.     GEN6_FORMAT_ETC2_RGB8_PTA                                 = 0x1c0,
  251.     GEN6_FORMAT_ETC2_SRGB8_PTA                                = 0x1c1,
  252.     GEN6_FORMAT_ETC2_EAC_RGBA8                                = 0x1c2,
  253.     GEN6_FORMAT_ETC2_EAC_SRGB8_A8                             = 0x1c3,
  254.     GEN6_FORMAT_R8G8B8_UINT                                   = 0x1c8,
  255.     GEN6_FORMAT_R8G8B8_SINT                                   = 0x1c9,
  256.     GEN6_FORMAT_RAW                                           = 0x1ff,
  257. };
  258.  
  259. enum gen_surface_type {
  260.     GEN6_SURFTYPE_1D                                          = 0x0,
  261.     GEN6_SURFTYPE_2D                                          = 0x1,
  262.     GEN6_SURFTYPE_3D                                          = 0x2,
  263.     GEN6_SURFTYPE_CUBE                                        = 0x3,
  264.     GEN6_SURFTYPE_BUFFER                                      = 0x4,
  265.     GEN7_SURFTYPE_STRBUF                                      = 0x5,
  266.     GEN6_SURFTYPE_NULL                                        = 0x7,
  267. };
  268.  
  269. enum gen_surface_tiling {
  270.     GEN6_TILING_NONE                                          = 0x0,
  271.     GEN8_TILING_W                                             = 0x1,
  272.     GEN6_TILING_X                                             = 0x2,
  273.     GEN6_TILING_Y                                             = 0x3,
  274. };
  275.  
  276. enum gen_surface_clear_color {
  277.     GEN7_CLEAR_COLOR_ZERO                                     = 0x0,
  278.     GEN7_CLEAR_COLOR_ONE                                      = 0x1,
  279. };
  280.  
  281. enum gen_surface_scs {
  282.     GEN75_SCS_ZERO                                            = 0x0,
  283.     GEN75_SCS_ONE                                             = 0x1,
  284.     GEN75_SCS_RED                                             = 0x4,
  285.     GEN75_SCS_GREEN                                           = 0x5,
  286.     GEN75_SCS_BLUE                                            = 0x6,
  287.     GEN75_SCS_ALPHA                                           = 0x7,
  288. };
  289.  
  290. #define GEN6_SURFACE_STATE__SIZE                                16
  291.  
  292. #define GEN6_SURFACE_DW0_TYPE__MASK                             0xe0000000
  293. #define GEN6_SURFACE_DW0_TYPE__SHIFT                            29
  294. #define GEN6_SURFACE_DW0_FORMAT__MASK                           0x07fc0000
  295. #define GEN6_SURFACE_DW0_FORMAT__SHIFT                          18
  296. #define GEN6_SURFACE_DW0_VSTRIDE                                (0x1 << 12)
  297. #define GEN6_SURFACE_DW0_VSTRIDE_OFFSET                         (0x1 << 11)
  298. #define GEN6_SURFACE_DW0_MIPLAYOUT__MASK                        0x00000400
  299. #define GEN6_SURFACE_DW0_MIPLAYOUT__SHIFT                       10
  300. #define GEN6_SURFACE_DW0_MIPLAYOUT_BELOW                        (0x0 << 10)
  301. #define GEN6_SURFACE_DW0_MIPLAYOUT_RIGHT                        (0x1 << 10)
  302. #define GEN6_SURFACE_DW0_CUBE_MAP_CORNER_MODE                   (0x1 << 9)
  303. #define GEN6_SURFACE_DW0_RENDER_CACHE_RW                        (0x1 << 8)
  304. #define GEN6_SURFACE_DW0_MEDIA_BOUNDARY_PIXEL_MODE__MASK        0x000000c0
  305. #define GEN6_SURFACE_DW0_MEDIA_BOUNDARY_PIXEL_MODE__SHIFT       6
  306. #define GEN6_SURFACE_DW0_CUBE_FACE_ENABLES__MASK                0x0000003f
  307. #define GEN6_SURFACE_DW0_CUBE_FACE_ENABLES__SHIFT               0
  308.  
  309.  
  310. #define GEN6_SURFACE_DW2_HEIGHT__MASK                           0xfff80000
  311. #define GEN6_SURFACE_DW2_HEIGHT__SHIFT                          19
  312. #define GEN6_SURFACE_DW2_WIDTH__MASK                            0x0007ffc0
  313. #define GEN6_SURFACE_DW2_WIDTH__SHIFT                           6
  314. #define GEN6_SURFACE_DW2_MIP_COUNT_LOD__MASK                    0x0000003c
  315. #define GEN6_SURFACE_DW2_MIP_COUNT_LOD__SHIFT                   2
  316. #define GEN6_SURFACE_DW2_RTROTATE__MASK                         0x00000003
  317. #define GEN6_SURFACE_DW2_RTROTATE__SHIFT                        0
  318. #define GEN6_SURFACE_DW2_RTROTATE_0DEG                          0x0
  319. #define GEN6_SURFACE_DW2_RTROTATE_90DEG                         0x1
  320. #define GEN6_SURFACE_DW2_RTROTATE_270DEG                        0x3
  321.  
  322. #define GEN6_SURFACE_DW3_DEPTH__MASK                            0xffe00000
  323. #define GEN6_SURFACE_DW3_DEPTH__SHIFT                           21
  324. #define GEN6_SURFACE_DW3_PITCH__MASK                            0x000ffff8
  325. #define GEN6_SURFACE_DW3_PITCH__SHIFT                           3
  326. #define GEN6_SURFACE_DW3_TILING__MASK                           0x00000003
  327. #define GEN6_SURFACE_DW3_TILING__SHIFT                          0
  328.  
  329. #define GEN6_SURFACE_DW4_MIN_LOD__MASK                          0xf0000000
  330. #define GEN6_SURFACE_DW4_MIN_LOD__SHIFT                         28
  331. #define GEN6_SURFACE_DW4_MIN_ARRAY_ELEMENT__MASK                0x0ffe0000
  332. #define GEN6_SURFACE_DW4_MIN_ARRAY_ELEMENT__SHIFT               17
  333. #define GEN6_SURFACE_DW4_RT_VIEW_EXTENT__MASK                   0x0001ff00
  334. #define GEN6_SURFACE_DW4_RT_VIEW_EXTENT__SHIFT                  8
  335. #define GEN6_SURFACE_DW4_MULTISAMPLECOUNT__MASK                 0x00000070
  336. #define GEN6_SURFACE_DW4_MULTISAMPLECOUNT__SHIFT                4
  337. #define GEN6_SURFACE_DW4_MULTISAMPLECOUNT_1                     (0x0 << 4)
  338. #define GEN6_SURFACE_DW4_MULTISAMPLECOUNT_4                     (0x2 << 4)
  339. #define GEN6_SURFACE_DW4_MSPOS_INDEX__MASK                      0x00000007
  340. #define GEN6_SURFACE_DW4_MSPOS_INDEX__SHIFT                     0
  341.  
  342. #define GEN6_SURFACE_DW5_X_OFFSET__MASK                         0xfe000000
  343. #define GEN6_SURFACE_DW5_X_OFFSET__SHIFT                        25
  344. #define GEN6_SURFACE_DW5_X_OFFSET__SHR                          2
  345. #define GEN6_SURFACE_DW5_VALIGN__MASK                           0x01000000
  346. #define GEN6_SURFACE_DW5_VALIGN__SHIFT                          24
  347. #define GEN6_SURFACE_DW5_VALIGN_2                               (0x0 << 24)
  348. #define GEN6_SURFACE_DW5_VALIGN_4                               (0x1 << 24)
  349. #define GEN6_SURFACE_DW5_Y_OFFSET__MASK                         0x00f00000
  350. #define GEN6_SURFACE_DW5_Y_OFFSET__SHIFT                        20
  351. #define GEN6_SURFACE_DW5_Y_OFFSET__SHR                          1
  352. #define GEN6_SURFACE_DW5_MOCS__MASK                             0x000f0000
  353. #define GEN6_SURFACE_DW5_MOCS__SHIFT                            16
  354.  
  355.  
  356. #define GEN7_SURFACE_DW0_TYPE__MASK                             0xe0000000
  357. #define GEN7_SURFACE_DW0_TYPE__SHIFT                            29
  358. #define GEN7_SURFACE_DW0_IS_ARRAY                               (0x1 << 28)
  359. #define GEN7_SURFACE_DW0_FORMAT__MASK                           0x07fc0000
  360. #define GEN7_SURFACE_DW0_FORMAT__SHIFT                          18
  361. #define GEN7_SURFACE_DW0_VALIGN__MASK                           0x00030000
  362. #define GEN7_SURFACE_DW0_VALIGN__SHIFT                          16
  363. #define GEN7_SURFACE_DW0_VALIGN_2                               (0x0 << 16)
  364. #define GEN7_SURFACE_DW0_VALIGN_4                               (0x1 << 16)
  365. #define GEN8_SURFACE_DW0_VALIGN_8                               (0x2 << 16)
  366. #define GEN8_SURFACE_DW0_VALIGN_16                              (0x3 << 16)
  367. #define GEN7_SURFACE_DW0_HALIGN__MASK                           0x00008000
  368. #define GEN7_SURFACE_DW0_HALIGN__SHIFT                          15
  369. #define GEN7_SURFACE_DW0_HALIGN_4                               (0x0 << 15)
  370. #define GEN7_SURFACE_DW0_HALIGN_8                               (0x1 << 15)
  371. #define GEN7_SURFACE_DW0_TILING__MASK                           0x00006000
  372. #define GEN7_SURFACE_DW0_TILING__SHIFT                          13
  373. #define GEN7_SURFACE_DW0_VSTRIDE                                (0x1 << 12)
  374. #define GEN7_SURFACE_DW0_VSTRIDE_OFFSET                         (0x1 << 11)
  375. #define GEN7_SURFACE_DW0_ARYSPC__MASK                           0x00000400
  376. #define GEN7_SURFACE_DW0_ARYSPC__SHIFT                          10
  377. #define GEN7_SURFACE_DW0_ARYSPC_FULL                            (0x0 << 10)
  378. #define GEN7_SURFACE_DW0_ARYSPC_LOD0                            (0x1 << 10)
  379. #define GEN8_SURFACE_DW0_HALIGN__MASK                           0x0000c000
  380. #define GEN8_SURFACE_DW0_HALIGN__SHIFT                          14
  381. #define GEN8_SURFACE_DW0_HALIGN_4                               (0x1 << 14)
  382. #define GEN8_SURFACE_DW0_HALIGN_8                               (0x2 << 14)
  383. #define GEN8_SURFACE_DW0_HALIGN_16                              (0x3 << 14)
  384. #define GEN8_SURFACE_DW0_TILING__MASK                           0x00003000
  385. #define GEN8_SURFACE_DW0_TILING__SHIFT                          12
  386. #define GEN8_SURFACE_DW0_VSTRIDE                                (0x1 << 11)
  387. #define GEN8_SURFACE_DW0_VSTRIDE_OFFSET                         (0x1 << 10)
  388. #define GEN8_SURFACE_DW0_SAMPLER_L2_BYPASS_MODE                 (0x1 << 9)
  389. #define GEN7_SURFACE_DW0_RENDER_CACHE_RW                        (0x1 << 8)
  390. #define GEN7_SURFACE_DW0_MEDIA_BOUNDARY_PIXEL_MODE__MASK        0x000000c0
  391. #define GEN7_SURFACE_DW0_MEDIA_BOUNDARY_PIXEL_MODE__SHIFT       6
  392. #define GEN7_SURFACE_DW0_CUBE_FACE_ENABLES__MASK                0x0000003f
  393. #define GEN7_SURFACE_DW0_CUBE_FACE_ENABLES__SHIFT               0
  394.  
  395.  
  396. #define GEN8_SURFACE_DW1_MOCS__MASK                             0x7f000000
  397. #define GEN8_SURFACE_DW1_MOCS__SHIFT                            24
  398. #define GEN8_SURFACE_DW1_BASE_LOD__MASK                         0x00f80000
  399. #define GEN8_SURFACE_DW1_BASE_LOD__SHIFT                        19
  400. #define GEN8_SURFACE_DW1_QPITCH__MASK                           0x00007fff
  401. #define GEN8_SURFACE_DW1_QPITCH__SHIFT                          0
  402.  
  403. #define GEN7_SURFACE_DW2_HEIGHT__MASK                           0x3fff0000
  404. #define GEN7_SURFACE_DW2_HEIGHT__SHIFT                          16
  405. #define GEN7_SURFACE_DW2_WIDTH__MASK                            0x00003fff
  406. #define GEN7_SURFACE_DW2_WIDTH__SHIFT                           0
  407.  
  408. #define GEN7_SURFACE_DW3_DEPTH__MASK                            0xffe00000
  409. #define GEN7_SURFACE_DW3_DEPTH__SHIFT                           21
  410. #define GEN75_SURFACE_DW3_INTEGER_SURFACE_FORMAT__MASK          0x001c0000
  411. #define GEN75_SURFACE_DW3_INTEGER_SURFACE_FORMAT__SHIFT         18
  412. #define GEN7_SURFACE_DW3_PITCH__MASK                            0x0003ffff
  413. #define GEN7_SURFACE_DW3_PITCH__SHIFT                           0
  414.  
  415. #define GEN7_SURFACE_DW4_RTROTATE__MASK                         0x60000000
  416. #define GEN7_SURFACE_DW4_RTROTATE__SHIFT                        29
  417. #define GEN7_SURFACE_DW4_RTROTATE_0DEG                          (0x0 << 29)
  418. #define GEN7_SURFACE_DW4_RTROTATE_90DEG                         (0x1 << 29)
  419. #define GEN7_SURFACE_DW4_RTROTATE_270DEG                        (0x3 << 29)
  420. #define GEN7_SURFACE_DW4_MIN_ARRAY_ELEMENT__MASK                0x1ffc0000
  421. #define GEN7_SURFACE_DW4_MIN_ARRAY_ELEMENT__SHIFT               18
  422. #define GEN7_SURFACE_DW4_RT_VIEW_EXTENT__MASK                   0x0003ff80
  423. #define GEN7_SURFACE_DW4_RT_VIEW_EXTENT__SHIFT                  7
  424. #define GEN7_SURFACE_DW4_MSFMT__MASK                            0x00000040
  425. #define GEN7_SURFACE_DW4_MSFMT__SHIFT                           6
  426. #define GEN7_SURFACE_DW4_MSFMT_MSS                              (0x0 << 6)
  427. #define GEN7_SURFACE_DW4_MSFMT_DEPTH_STENCIL                    (0x1 << 6)
  428. #define GEN7_SURFACE_DW4_MULTISAMPLECOUNT__MASK                 0x00000038
  429. #define GEN7_SURFACE_DW4_MULTISAMPLECOUNT__SHIFT                3
  430. #define GEN7_SURFACE_DW4_MULTISAMPLECOUNT_1                     (0x0 << 3)
  431. #define GEN8_SURFACE_DW4_MULTISAMPLECOUNT_2                     (0x1 << 3)
  432. #define GEN7_SURFACE_DW4_MULTISAMPLECOUNT_4                     (0x2 << 3)
  433. #define GEN7_SURFACE_DW4_MULTISAMPLECOUNT_8                     (0x3 << 3)
  434. #define GEN8_SURFACE_DW4_MULTISAMPLECOUNT_16                    (0x4 << 3)
  435. #define GEN7_SURFACE_DW4_MSPOS_INDEX__MASK                      0x00000007
  436. #define GEN7_SURFACE_DW4_MSPOS_INDEX__SHIFT                     0
  437. #define GEN7_SURFACE_DW4_MIN_ARRAY_ELEMENT_STRBUF__MASK         0x07ffffff
  438. #define GEN7_SURFACE_DW4_MIN_ARRAY_ELEMENT_STRBUF__SHIFT        0
  439.  
  440. #define GEN7_SURFACE_DW5_X_OFFSET__MASK                         0xfe000000
  441. #define GEN7_SURFACE_DW5_X_OFFSET__SHIFT                        25
  442. #define GEN7_SURFACE_DW5_X_OFFSET__SHR                          2
  443. #define GEN7_SURFACE_DW5_Y_OFFSET__MASK                         0x00f00000
  444. #define GEN7_SURFACE_DW5_Y_OFFSET__SHIFT                        20
  445. #define GEN7_SURFACE_DW5_Y_OFFSET__SHR                          1
  446. #define GEN7_SURFACE_DW5_MOCS__MASK                             0x000f0000
  447. #define GEN7_SURFACE_DW5_MOCS__SHIFT                            16
  448. #define GEN8_SURFACE_DW5_Y_OFFSET__MASK                         0x00e00000
  449. #define GEN8_SURFACE_DW5_Y_OFFSET__SHIFT                        21
  450. #define GEN8_SURFACE_DW5_Y_OFFSET__SHR                          1
  451. #define GEN8_SURFACE_DW5_CUBE_EWA                               (0x1 << 20)
  452. #define GEN8_SURFACE_DW5_COHERENCY_TYPE                         (0x1 << 14)
  453. #define GEN7_SURFACE_DW5_MIN_LOD__MASK                          0x000000f0
  454. #define GEN7_SURFACE_DW5_MIN_LOD__SHIFT                         4
  455. #define GEN7_SURFACE_DW5_MIP_COUNT_LOD__MASK                    0x0000000f
  456. #define GEN7_SURFACE_DW5_MIP_COUNT_LOD__SHIFT                   0
  457.  
  458. #define GEN8_SURFACE_DW6_SEPARATE_UV_ENABLE                     (0x1 << 31)
  459. #define GEN7_SURFACE_DW6_UV_X_OFFSET__MASK                      0x3fff0000
  460. #define GEN7_SURFACE_DW6_UV_X_OFFSET__SHIFT                     16
  461. #define GEN7_SURFACE_DW6_UV_Y_OFFSET__MASK                      0x00003fff
  462. #define GEN7_SURFACE_DW6_UV_Y_OFFSET__SHIFT                     0
  463. #define GEN7_SURFACE_DW6_MCS_ADDR__MASK                         0xfffff000
  464. #define GEN7_SURFACE_DW6_MCS_ADDR__SHIFT                        12
  465. #define GEN7_SURFACE_DW6_MCS_ADDR__SHR                          12
  466. #define GEN8_SURFACE_DW6_AUX_QPITCH__MASK                       0x7fff0000
  467. #define GEN8_SURFACE_DW6_AUX_QPITCH__SHIFT                      16
  468. #define GEN7_SURFACE_DW6_AUX_PITCH__MASK                        0x00000ff8
  469. #define GEN7_SURFACE_DW6_AUX_PITCH__SHIFT                       3
  470. #define GEN7_SURFACE_DW6_APPEND_COUNTER_ADDR__MASK              0xffffffc0
  471. #define GEN7_SURFACE_DW6_APPEND_COUNTER_ADDR__SHIFT             6
  472. #define GEN7_SURFACE_DW6_APPEND_COUNTER_ADDR__SHR               6
  473. #define GEN7_SURFACE_DW6_AUX_MODE__MASK                         0x00000007
  474. #define GEN7_SURFACE_DW6_AUX_MODE__SHIFT                        0
  475. #define GEN7_SURFACE_DW6_AUX_MODE_NONE                          0x0
  476. #define GEN7_SURFACE_DW6_AUX_MODE_MCS                           0x1
  477. #define GEN7_SURFACE_DW6_AUX_MODE_APPEND                        0x2
  478. #define GEN8_SURFACE_DW6_AUX_MODE_HIZ                           0x3
  479.  
  480. #define GEN7_SURFACE_DW7_CC_R__MASK                             0x80000000
  481. #define GEN7_SURFACE_DW7_CC_R__SHIFT                            31
  482. #define GEN7_SURFACE_DW7_CC_G__MASK                             0x40000000
  483. #define GEN7_SURFACE_DW7_CC_G__SHIFT                            30
  484. #define GEN7_SURFACE_DW7_CC_B__MASK                             0x20000000
  485. #define GEN7_SURFACE_DW7_CC_B__SHIFT                            29
  486. #define GEN7_SURFACE_DW7_CC_A__MASK                             0x10000000
  487. #define GEN7_SURFACE_DW7_CC_A__SHIFT                            28
  488. #define GEN75_SURFACE_DW7_SCS_R__MASK                           0x0e000000
  489. #define GEN75_SURFACE_DW7_SCS_R__SHIFT                          25
  490. #define GEN75_SURFACE_DW7_SCS_G__MASK                           0x01c00000
  491. #define GEN75_SURFACE_DW7_SCS_G__SHIFT                          22
  492. #define GEN75_SURFACE_DW7_SCS_B__MASK                           0x00380000
  493. #define GEN75_SURFACE_DW7_SCS_B__SHIFT                          19
  494. #define GEN75_SURFACE_DW7_SCS_A__MASK                           0x00070000
  495. #define GEN75_SURFACE_DW7_SCS_A__SHIFT                          16
  496. #define GEN7_SURFACE_DW7_RES_MIN_LOD__MASK                      0x00000fff
  497. #define GEN7_SURFACE_DW7_RES_MIN_LOD__SHIFT                     0
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507. #define GEN6_BINDING_TABLE_STATE__SIZE                          256
  508.  
  509. #define GEN6_BINDING_TABLE_DW_ADDR__MASK                        0xffffffe0
  510. #define GEN6_BINDING_TABLE_DW_ADDR__SHIFT                       5
  511. #define GEN6_BINDING_TABLE_DW_ADDR__SHR                         5
  512.  
  513. #define GEN8_BINDING_TABLE_DW_ADDR__MASK                        0xffffffc0
  514. #define GEN8_BINDING_TABLE_DW_ADDR__SHIFT                       6
  515. #define GEN8_BINDING_TABLE_DW_ADDR__SHR                         6
  516.  
  517.  
  518. #endif /* GEN_RENDER_SURFACE_XML */
  519.