#ifndef GEN_RENDER_SURFACE_XML
#define GEN_RENDER_SURFACE_XML

/* Autogenerated file, DO NOT EDIT manually!

This file was generated by the rules-ng-ng headergen tool in this git repository:
https://github.com/olvaffe/envytools/
git clone https://github.com/olvaffe/envytools.git

Copyright (C) 2014 by the following authors:
- Chia-I Wu <olvaffe@gmail.com> (olv)

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice (including the
next paragraph) shall be included in all copies or substantial
portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/


#define GEN6_FORMAT_R32G32B32A32_FLOAT				0x0
#define GEN6_FORMAT_R32G32B32A32_SINT				0x1
#define GEN6_FORMAT_R32G32B32A32_UINT				0x2
#define GEN6_FORMAT_R32G32B32A32_UNORM				0x3
#define GEN6_FORMAT_R32G32B32A32_SNORM				0x4
#define GEN6_FORMAT_R64G64_FLOAT				0x5
#define GEN6_FORMAT_R32G32B32X32_FLOAT				0x6
#define GEN6_FORMAT_R32G32B32A32_SSCALED			0x7
#define GEN6_FORMAT_R32G32B32A32_USCALED			0x8
#define GEN6_FORMAT_R32G32B32A32_SFIXED				0x20
#define GEN6_FORMAT_R64G64_PASSTHRU				0x21
#define GEN6_FORMAT_R32G32B32_FLOAT				0x40
#define GEN6_FORMAT_R32G32B32_SINT				0x41
#define GEN6_FORMAT_R32G32B32_UINT				0x42
#define GEN6_FORMAT_R32G32B32_UNORM				0x43
#define GEN6_FORMAT_R32G32B32_SNORM				0x44
#define GEN6_FORMAT_R32G32B32_SSCALED				0x45
#define GEN6_FORMAT_R32G32B32_USCALED				0x46
#define GEN6_FORMAT_R32G32B32_SFIXED				0x50
#define GEN6_FORMAT_R16G16B16A16_UNORM				0x80
#define GEN6_FORMAT_R16G16B16A16_SNORM				0x81
#define GEN6_FORMAT_R16G16B16A16_SINT				0x82
#define GEN6_FORMAT_R16G16B16A16_UINT				0x83
#define GEN6_FORMAT_R16G16B16A16_FLOAT				0x84
#define GEN6_FORMAT_R32G32_FLOAT				0x85
#define GEN6_FORMAT_R32G32_SINT					0x86
#define GEN6_FORMAT_R32G32_UINT					0x87
#define GEN6_FORMAT_R32_FLOAT_X8X24_TYPELESS			0x88
#define GEN6_FORMAT_X32_TYPELESS_G8X24_UINT			0x89
#define GEN6_FORMAT_L32A32_FLOAT				0x8a
#define GEN6_FORMAT_R32G32_UNORM				0x8b
#define GEN6_FORMAT_R32G32_SNORM				0x8c
#define GEN6_FORMAT_R64_FLOAT					0x8d
#define GEN6_FORMAT_R16G16B16X16_UNORM				0x8e
#define GEN6_FORMAT_R16G16B16X16_FLOAT				0x8f
#define GEN6_FORMAT_A32X32_FLOAT				0x90
#define GEN6_FORMAT_L32X32_FLOAT				0x91
#define GEN6_FORMAT_I32X32_FLOAT				0x92
#define GEN6_FORMAT_R16G16B16A16_SSCALED			0x93
#define GEN6_FORMAT_R16G16B16A16_USCALED			0x94
#define GEN6_FORMAT_R32G32_SSCALED				0x95
#define GEN6_FORMAT_R32G32_USCALED				0x96
#define GEN6_FORMAT_R32G32_SFIXED				0xa0
#define GEN6_FORMAT_R64_PASSTHRU				0xa1
#define GEN6_FORMAT_B8G8R8A8_UNORM				0xc0
#define GEN6_FORMAT_B8G8R8A8_UNORM_SRGB				0xc1
#define GEN6_FORMAT_R10G10B10A2_UNORM				0xc2
#define GEN6_FORMAT_R10G10B10A2_UNORM_SRGB			0xc3
#define GEN6_FORMAT_R10G10B10A2_UINT				0xc4
#define GEN6_FORMAT_R10G10B10_SNORM_A2_UNORM			0xc5
#define GEN6_FORMAT_R8G8B8A8_UNORM				0xc7
#define GEN6_FORMAT_R8G8B8A8_UNORM_SRGB				0xc8
#define GEN6_FORMAT_R8G8B8A8_SNORM				0xc9
#define GEN6_FORMAT_R8G8B8A8_SINT				0xca
#define GEN6_FORMAT_R8G8B8A8_UINT				0xcb
#define GEN6_FORMAT_R16G16_UNORM				0xcc
#define GEN6_FORMAT_R16G16_SNORM				0xcd
#define GEN6_FORMAT_R16G16_SINT					0xce
#define GEN6_FORMAT_R16G16_UINT					0xcf
#define GEN6_FORMAT_R16G16_FLOAT				0xd0
#define GEN6_FORMAT_B10G10R10A2_UNORM				0xd1
#define GEN6_FORMAT_B10G10R10A2_UNORM_SRGB			0xd2
#define GEN6_FORMAT_R11G11B10_FLOAT				0xd3
#define GEN6_FORMAT_R32_SINT					0xd6
#define GEN6_FORMAT_R32_UINT					0xd7
#define GEN6_FORMAT_R32_FLOAT					0xd8
#define GEN6_FORMAT_R24_UNORM_X8_TYPELESS			0xd9
#define GEN6_FORMAT_X24_TYPELESS_G8_UINT			0xda
#define GEN6_FORMAT_L32_UNORM					0xdd
#define GEN6_FORMAT_A32_UNORM					0xde
#define GEN6_FORMAT_L16A16_UNORM				0xdf
#define GEN6_FORMAT_I24X8_UNORM					0xe0
#define GEN6_FORMAT_L24X8_UNORM					0xe1
#define GEN6_FORMAT_A24X8_UNORM					0xe2
#define GEN6_FORMAT_I32_FLOAT					0xe3
#define GEN6_FORMAT_L32_FLOAT					0xe4
#define GEN6_FORMAT_A32_FLOAT					0xe5
#define GEN6_FORMAT_X8B8_UNORM_G8R8_SNORM			0xe6
#define GEN6_FORMAT_A8X8_UNORM_G8R8_SNORM			0xe7
#define GEN6_FORMAT_B8X8_UNORM_G8R8_SNORM			0xe8
#define GEN6_FORMAT_B8G8R8X8_UNORM				0xe9
#define GEN6_FORMAT_B8G8R8X8_UNORM_SRGB				0xea
#define GEN6_FORMAT_R8G8B8X8_UNORM				0xeb
#define GEN6_FORMAT_R8G8B8X8_UNORM_SRGB				0xec
#define GEN6_FORMAT_R9G9B9E5_SHAREDEXP				0xed
#define GEN6_FORMAT_B10G10R10X2_UNORM				0xee
#define GEN6_FORMAT_L16A16_FLOAT				0xf0
#define GEN6_FORMAT_R32_UNORM					0xf1
#define GEN6_FORMAT_R32_SNORM					0xf2
#define GEN6_FORMAT_R10G10B10X2_USCALED				0xf3
#define GEN6_FORMAT_R8G8B8A8_SSCALED				0xf4
#define GEN6_FORMAT_R8G8B8A8_USCALED				0xf5
#define GEN6_FORMAT_R16G16_SSCALED				0xf6
#define GEN6_FORMAT_R16G16_USCALED				0xf7
#define GEN6_FORMAT_R32_SSCALED					0xf8
#define GEN6_FORMAT_R32_USCALED					0xf9
#define GEN6_FORMAT_B5G6R5_UNORM				0x100
#define GEN6_FORMAT_B5G6R5_UNORM_SRGB				0x101
#define GEN6_FORMAT_B5G5R5A1_UNORM				0x102
#define GEN6_FORMAT_B5G5R5A1_UNORM_SRGB				0x103
#define GEN6_FORMAT_B4G4R4A4_UNORM				0x104
#define GEN6_FORMAT_B4G4R4A4_UNORM_SRGB				0x105
#define GEN6_FORMAT_R8G8_UNORM					0x106
#define GEN6_FORMAT_R8G8_SNORM					0x107
#define GEN6_FORMAT_R8G8_SINT					0x108
#define GEN6_FORMAT_R8G8_UINT					0x109
#define GEN6_FORMAT_R16_UNORM					0x10a
#define GEN6_FORMAT_R16_SNORM					0x10b
#define GEN6_FORMAT_R16_SINT					0x10c
#define GEN6_FORMAT_R16_UINT					0x10d
#define GEN6_FORMAT_R16_FLOAT					0x10e
#define GEN6_FORMAT_A8P8_UNORM_PALETTE0				0x10f
#define GEN6_FORMAT_A8P8_UNORM_PALETTE1				0x110
#define GEN6_FORMAT_I16_UNORM					0x111
#define GEN6_FORMAT_L16_UNORM					0x112
#define GEN6_FORMAT_A16_UNORM					0x113
#define GEN6_FORMAT_L8A8_UNORM					0x114
#define GEN6_FORMAT_I16_FLOAT					0x115
#define GEN6_FORMAT_L16_FLOAT					0x116
#define GEN6_FORMAT_A16_FLOAT					0x117
#define GEN6_FORMAT_L8A8_UNORM_SRGB				0x118
#define GEN6_FORMAT_R5G5_SNORM_B6_UNORM				0x119
#define GEN6_FORMAT_B5G5R5X1_UNORM				0x11a
#define GEN6_FORMAT_B5G5R5X1_UNORM_SRGB				0x11b
#define GEN6_FORMAT_R8G8_SSCALED				0x11c
#define GEN6_FORMAT_R8G8_USCALED				0x11d
#define GEN6_FORMAT_R16_SSCALED					0x11e
#define GEN6_FORMAT_R16_USCALED					0x11f
#define GEN6_FORMAT_P8A8_UNORM_PALETTE0				0x122
#define GEN6_FORMAT_P8A8_UNORM_PALETTE1				0x123
#define GEN6_FORMAT_A1B5G5R5_UNORM				0x124
#define GEN6_FORMAT_A4B4G4R4_UNORM				0x125
#define GEN6_FORMAT_L8A8_UINT					0x126
#define GEN6_FORMAT_L8A8_SINT					0x127
#define GEN6_FORMAT_R8_UNORM					0x140
#define GEN6_FORMAT_R8_SNORM					0x141
#define GEN6_FORMAT_R8_SINT					0x142
#define GEN6_FORMAT_R8_UINT					0x143
#define GEN6_FORMAT_A8_UNORM					0x144
#define GEN6_FORMAT_I8_UNORM					0x145
#define GEN6_FORMAT_L8_UNORM					0x146
#define GEN6_FORMAT_P4A4_UNORM_PALETTE0				0x147
#define GEN6_FORMAT_A4P4_UNORM_PALETTE0				0x148
#define GEN6_FORMAT_R8_SSCALED					0x149
#define GEN6_FORMAT_R8_USCALED					0x14a
#define GEN6_FORMAT_P8_UNORM_PALETTE0				0x14b
#define GEN6_FORMAT_L8_UNORM_SRGB				0x14c
#define GEN6_FORMAT_P8_UNORM_PALETTE1				0x14d
#define GEN6_FORMAT_P4A4_UNORM_PALETTE1				0x14e
#define GEN6_FORMAT_A4P4_UNORM_PALETTE1				0x14f
#define GEN6_FORMAT_Y8_UNORM					0x150
#define GEN6_FORMAT_L8_UINT					0x152
#define GEN6_FORMAT_L8_SINT					0x153
#define GEN6_FORMAT_I8_UINT					0x154
#define GEN6_FORMAT_I8_SINT					0x155
#define GEN6_FORMAT_DXT1_RGB_SRGB				0x180
#define GEN6_FORMAT_R1_UNORM					0x181
#define GEN6_FORMAT_YCRCB_NORMAL				0x182
#define GEN6_FORMAT_YCRCB_SWAPUVY				0x183
#define GEN6_FORMAT_P2_UNORM_PALETTE0				0x184
#define GEN6_FORMAT_P2_UNORM_PALETTE1				0x185
#define GEN6_FORMAT_BC1_UNORM					0x186
#define GEN6_FORMAT_BC2_UNORM					0x187
#define GEN6_FORMAT_BC3_UNORM					0x188
#define GEN6_FORMAT_BC4_UNORM					0x189
#define GEN6_FORMAT_BC5_UNORM					0x18a
#define GEN6_FORMAT_BC1_UNORM_SRGB				0x18b
#define GEN6_FORMAT_BC2_UNORM_SRGB				0x18c
#define GEN6_FORMAT_BC3_UNORM_SRGB				0x18d
#define GEN6_FORMAT_MONO8					0x18e
#define GEN6_FORMAT_YCRCB_SWAPUV				0x18f
#define GEN6_FORMAT_YCRCB_SWAPY					0x190
#define GEN6_FORMAT_DXT1_RGB					0x191
#define GEN6_FORMAT_FXT1					0x192
#define GEN6_FORMAT_R8G8B8_UNORM				0x193
#define GEN6_FORMAT_R8G8B8_SNORM				0x194
#define GEN6_FORMAT_R8G8B8_SSCALED				0x195
#define GEN6_FORMAT_R8G8B8_USCALED				0x196
#define GEN6_FORMAT_R64G64B64A64_FLOAT				0x197
#define GEN6_FORMAT_R64G64B64_FLOAT				0x198
#define GEN6_FORMAT_BC4_SNORM					0x199
#define GEN6_FORMAT_BC5_SNORM					0x19a
#define GEN6_FORMAT_R16G16B16_FLOAT				0x19b
#define GEN6_FORMAT_R16G16B16_UNORM				0x19c
#define GEN6_FORMAT_R16G16B16_SNORM				0x19d
#define GEN6_FORMAT_R16G16B16_SSCALED				0x19e
#define GEN6_FORMAT_R16G16B16_USCALED				0x19f
#define GEN6_FORMAT_BC6H_SF16					0x1a1
#define GEN6_FORMAT_BC7_UNORM					0x1a2
#define GEN6_FORMAT_BC7_UNORM_SRGB				0x1a3
#define GEN6_FORMAT_BC6H_UF16					0x1a4
#define GEN6_FORMAT_PLANAR_420_8				0x1a5
#define GEN6_FORMAT_R8G8B8_UNORM_SRGB				0x1a8
#define GEN6_FORMAT_ETC1_RGB8					0x1a9
#define GEN6_FORMAT_ETC2_RGB8					0x1aa
#define GEN6_FORMAT_EAC_R11					0x1ab
#define GEN6_FORMAT_EAC_RG11					0x1ac
#define GEN6_FORMAT_EAC_SIGNED_R11				0x1ad
#define GEN6_FORMAT_EAC_SIGNED_RG11				0x1ae
#define GEN6_FORMAT_ETC2_SRGB8					0x1af
#define GEN6_FORMAT_R16G16B16_UINT				0x1b0
#define GEN6_FORMAT_R16G16B16_SINT				0x1b1
#define GEN6_FORMAT_R32_SFIXED					0x1b2
#define GEN6_FORMAT_R10G10B10A2_SNORM				0x1b3
#define GEN6_FORMAT_R10G10B10A2_USCALED				0x1b4
#define GEN6_FORMAT_R10G10B10A2_SSCALED				0x1b5
#define GEN6_FORMAT_R10G10B10A2_SINT				0x1b6
#define GEN6_FORMAT_B10G10R10A2_SNORM				0x1b7
#define GEN6_FORMAT_B10G10R10A2_USCALED				0x1b8
#define GEN6_FORMAT_B10G10R10A2_SSCALED				0x1b9
#define GEN6_FORMAT_B10G10R10A2_UINT				0x1ba
#define GEN6_FORMAT_B10G10R10A2_SINT				0x1bb
#define GEN6_FORMAT_R64G64B64A64_PASSTHRU			0x1bc
#define GEN6_FORMAT_R64G64B64_PASSTHRU				0x1bd
#define GEN6_FORMAT_ETC2_RGB8_PTA				0x1c0
#define GEN6_FORMAT_ETC2_SRGB8_PTA				0x1c1
#define GEN6_FORMAT_ETC2_EAC_RGBA8				0x1c2
#define GEN6_FORMAT_ETC2_EAC_SRGB8_A8				0x1c3
#define GEN6_FORMAT_R8G8B8_UINT					0x1c8
#define GEN6_FORMAT_R8G8B8_SINT					0x1c9
#define GEN6_FORMAT_RAW						0x1ff
#define GEN6_SURFTYPE_1D					0x0
#define GEN6_SURFTYPE_2D					0x1
#define GEN6_SURFTYPE_3D					0x2
#define GEN6_SURFTYPE_CUBE					0x3
#define GEN6_SURFTYPE_BUFFER					0x4
#define GEN7_SURFTYPE_STRBUF					0x5
#define GEN6_SURFTYPE_NULL					0x7
#define GEN6_TILING_NONE					0x0
#define GEN6_TILING_X						0x2
#define GEN6_TILING_Y						0x3
#define GEN7_CLEAR_COLOR_ZERO					0x0
#define GEN7_CLEAR_COLOR_ONE					0x1
#define GEN75_SCS_ZERO						0x0
#define GEN75_SCS_ONE						0x1
#define GEN75_SCS_RED						0x4
#define GEN75_SCS_GREEN						0x5
#define GEN75_SCS_BLUE						0x6
#define GEN75_SCS_ALPHA						0x7
#define GEN6_MOCS_LLC__MASK					0x00000003
#define GEN6_MOCS_LLC__SHIFT					0
#define GEN6_MOCS_LLC_PTE					0x0
#define GEN6_MOCS_LLC_UC					0x1
#define GEN6_MOCS_LLC_ON					0x2
#define GEN7_MOCS_LLC__MASK					0x00000002
#define GEN7_MOCS_LLC__SHIFT					1
#define GEN7_MOCS_LLC_PTE					(0x0 << 1)
#define GEN7_MOCS_LLC_ON					(0x1 << 1)
#define GEN75_MOCS_LLC__MASK					0x00000006
#define GEN75_MOCS_LLC__SHIFT					1
#define GEN75_MOCS_LLC_PTE					(0x0 << 1)
#define GEN75_MOCS_LLC_UC					(0x1 << 1)
#define GEN75_MOCS_LLC_ON					(0x2 << 1)
#define GEN75_MOCS_LLC_ELLC					(0x3 << 1)
#define GEN7_MOCS_L3__MASK					0x00000001
#define GEN7_MOCS_L3__SHIFT					0
#define GEN7_MOCS_L3_UC						0x0
#define GEN7_MOCS_L3_ON						0x1
#define GEN6_SURFACE_STATE__SIZE				8

#define GEN6_SURFACE_DW0_TYPE__MASK				0xe0000000
#define GEN6_SURFACE_DW0_TYPE__SHIFT				29
#define GEN6_SURFACE_DW0_FORMAT__MASK				0x07fc0000
#define GEN6_SURFACE_DW0_FORMAT__SHIFT				18
#define GEN6_SURFACE_DW0_VSTRIDE				(0x1 << 12)
#define GEN6_SURFACE_DW0_VSTRIDE_OFFSET				(0x1 << 11)
#define GEN6_SURFACE_DW0_MIPLAYOUT__MASK			0x00000400
#define GEN6_SURFACE_DW0_MIPLAYOUT__SHIFT			10
#define GEN6_SURFACE_DW0_MIPLAYOUT_BELOW			(0x0 << 10)
#define GEN6_SURFACE_DW0_MIPLAYOUT_RIGHT			(0x1 << 10)
#define GEN6_SURFACE_DW0_CUBE_MAP_CORNER_MODE			(0x1 << 9)
#define GEN6_SURFACE_DW0_RENDER_CACHE_RW			(0x1 << 8)
#define GEN6_SURFACE_DW0_MEDIA_BOUNDARY_PIXEL_MODE__MASK	0x000000c0
#define GEN6_SURFACE_DW0_MEDIA_BOUNDARY_PIXEL_MODE__SHIFT	6
#define GEN6_SURFACE_DW0_CUBE_FACE_ENABLES__MASK		0x0000003f
#define GEN6_SURFACE_DW0_CUBE_FACE_ENABLES__SHIFT		0


#define GEN6_SURFACE_DW2_HEIGHT__MASK				0xfff80000
#define GEN6_SURFACE_DW2_HEIGHT__SHIFT				19
#define GEN6_SURFACE_DW2_WIDTH__MASK				0x0007ffc0
#define GEN6_SURFACE_DW2_WIDTH__SHIFT				6
#define GEN6_SURFACE_DW2_MIP_COUNT_LOD__MASK			0x0000003c
#define GEN6_SURFACE_DW2_MIP_COUNT_LOD__SHIFT			2
#define GEN6_SURFACE_DW2_RTROTATE__MASK				0x00000003
#define GEN6_SURFACE_DW2_RTROTATE__SHIFT			0
#define GEN6_SURFACE_DW2_RTROTATE_0DEG				0x0
#define GEN6_SURFACE_DW2_RTROTATE_90DEG				0x1
#define GEN6_SURFACE_DW2_RTROTATE_270DEG			0x3

#define GEN6_SURFACE_DW3_DEPTH__MASK				0xffe00000
#define GEN6_SURFACE_DW3_DEPTH__SHIFT				21
#define GEN6_SURFACE_DW3_PITCH__MASK				0x000ffff8
#define GEN6_SURFACE_DW3_PITCH__SHIFT				3
#define GEN6_SURFACE_DW3_TILING__MASK				0x00000003
#define GEN6_SURFACE_DW3_TILING__SHIFT				0

#define GEN6_SURFACE_DW4_MIN_LOD__MASK				0xf0000000
#define GEN6_SURFACE_DW4_MIN_LOD__SHIFT				28
#define GEN6_SURFACE_DW4_MIN_ARRAY_ELEMENT__MASK		0x0ffe0000
#define GEN6_SURFACE_DW4_MIN_ARRAY_ELEMENT__SHIFT		17
#define GEN6_SURFACE_DW4_RT_VIEW_EXTENT__MASK			0x0001ff00
#define GEN6_SURFACE_DW4_RT_VIEW_EXTENT__SHIFT			8
#define GEN6_SURFACE_DW4_MULTISAMPLECOUNT__MASK			0x00000070
#define GEN6_SURFACE_DW4_MULTISAMPLECOUNT__SHIFT		4
#define GEN6_SURFACE_DW4_MULTISAMPLECOUNT_1			(0x0 << 4)
#define GEN6_SURFACE_DW4_MULTISAMPLECOUNT_4			(0x2 << 4)
#define GEN6_SURFACE_DW4_MSPOS_INDEX__MASK			0x00000007
#define GEN6_SURFACE_DW4_MSPOS_INDEX__SHIFT			0

#define GEN6_SURFACE_DW5_X_OFFSET__MASK				0xfe000000
#define GEN6_SURFACE_DW5_X_OFFSET__SHIFT			25
#define GEN6_SURFACE_DW5_VALIGN__MASK				0x01000000
#define GEN6_SURFACE_DW5_VALIGN__SHIFT				24
#define GEN6_SURFACE_DW5_VALIGN_2				(0x0 << 24)
#define GEN6_SURFACE_DW5_VALIGN_4				(0x1 << 24)
#define GEN6_SURFACE_DW5_Y_OFFSET__MASK				0x00f00000
#define GEN6_SURFACE_DW5_Y_OFFSET__SHIFT			20
#define GEN6_SURFACE_DW5_MOCS__MASK				0x000f0000
#define GEN6_SURFACE_DW5_MOCS__SHIFT				16


#define GEN7_SURFACE_DW0_TYPE__MASK				0xe0000000
#define GEN7_SURFACE_DW0_TYPE__SHIFT				29
#define GEN7_SURFACE_DW0_IS_ARRAY				(0x1 << 28)
#define GEN7_SURFACE_DW0_FORMAT__MASK				0x07fc0000
#define GEN7_SURFACE_DW0_FORMAT__SHIFT				18
#define GEN7_SURFACE_DW0_VALIGN__MASK				0x00030000
#define GEN7_SURFACE_DW0_VALIGN__SHIFT				16
#define GEN7_SURFACE_DW0_VALIGN_2				(0x0 << 16)
#define GEN7_SURFACE_DW0_VALIGN_4				(0x1 << 16)
#define GEN7_SURFACE_DW0_HALIGN__MASK				0x00008000
#define GEN7_SURFACE_DW0_HALIGN__SHIFT				15
#define GEN7_SURFACE_DW0_HALIGN_4				(0x0 << 15)
#define GEN7_SURFACE_DW0_HALIGN_8				(0x1 << 15)
#define GEN7_SURFACE_DW0_TILING__MASK				0x00006000
#define GEN7_SURFACE_DW0_TILING__SHIFT				13
#define GEN7_SURFACE_DW0_VSTRIDE				(0x1 << 12)
#define GEN7_SURFACE_DW0_VSTRIDE_OFFSET				(0x1 << 11)
#define GEN7_SURFACE_DW0_ARYSPC__MASK				0x00000400
#define GEN7_SURFACE_DW0_ARYSPC__SHIFT				10
#define GEN7_SURFACE_DW0_ARYSPC_FULL				(0x0 << 10)
#define GEN7_SURFACE_DW0_ARYSPC_LOD0				(0x1 << 10)
#define GEN7_SURFACE_DW0_RENDER_CACHE_RW			(0x1 << 8)
#define GEN7_SURFACE_DW0_MEDIA_BOUNDARY_PIXEL_MODE__MASK	0x000000c0
#define GEN7_SURFACE_DW0_MEDIA_BOUNDARY_PIXEL_MODE__SHIFT	6
#define GEN7_SURFACE_DW0_CUBE_FACE_ENABLES__MASK		0x0000003f
#define GEN7_SURFACE_DW0_CUBE_FACE_ENABLES__SHIFT		0


#define GEN7_SURFACE_DW2_HEIGHT__MASK				0x3fff0000
#define GEN7_SURFACE_DW2_HEIGHT__SHIFT				16
#define GEN7_SURFACE_DW2_WIDTH__MASK				0x00003fff
#define GEN7_SURFACE_DW2_WIDTH__SHIFT				0

#define GEN7_SURFACE_DW3_DEPTH__MASK				0xffe00000
#define GEN7_SURFACE_DW3_DEPTH__SHIFT				21
#define GEN75_SURFACE_DW3_INTEGER_SURFACE_FORMAT__MASK		0x001c0000
#define GEN75_SURFACE_DW3_INTEGER_SURFACE_FORMAT__SHIFT		18
#define GEN7_SURFACE_DW3_PITCH__MASK				0x0003ffff
#define GEN7_SURFACE_DW3_PITCH__SHIFT				0

#define GEN7_SURFACE_DW4_RTROTATE__MASK				0x60000000
#define GEN7_SURFACE_DW4_RTROTATE__SHIFT			29
#define GEN7_SURFACE_DW4_RTROTATE_0DEG				(0x0 << 29)
#define GEN7_SURFACE_DW4_RTROTATE_90DEG				(0x1 << 29)
#define GEN7_SURFACE_DW4_RTROTATE_270DEG			(0x3 << 29)
#define GEN7_SURFACE_DW4_MIN_ARRAY_ELEMENT__MASK		0x1ffc0000
#define GEN7_SURFACE_DW4_MIN_ARRAY_ELEMENT__SHIFT		18
#define GEN7_SURFACE_DW4_RT_VIEW_EXTENT__MASK			0x0003ff80
#define GEN7_SURFACE_DW4_RT_VIEW_EXTENT__SHIFT			7
#define GEN7_SURFACE_DW4_MSFMT__MASK				0x00000040
#define GEN7_SURFACE_DW4_MSFMT__SHIFT				6
#define GEN7_SURFACE_DW4_MSFMT_MSS				(0x0 << 6)
#define GEN7_SURFACE_DW4_MSFMT_DEPTH_STENCIL			(0x1 << 6)
#define GEN7_SURFACE_DW4_MULTISAMPLECOUNT__MASK			0x00000038
#define GEN7_SURFACE_DW4_MULTISAMPLECOUNT__SHIFT		3
#define GEN7_SURFACE_DW4_MULTISAMPLECOUNT_1			(0x0 << 3)
#define GEN7_SURFACE_DW4_MULTISAMPLECOUNT_4			(0x2 << 3)
#define GEN7_SURFACE_DW4_MULTISAMPLECOUNT_8			(0x3 << 3)
#define GEN7_SURFACE_DW4_MSPOS_INDEX__MASK			0x00000007
#define GEN7_SURFACE_DW4_MSPOS_INDEX__SHIFT			0

#define GEN7_SURFACE_DW5_X_OFFSET__MASK				0xfe000000
#define GEN7_SURFACE_DW5_X_OFFSET__SHIFT			25
#define GEN7_SURFACE_DW5_Y_OFFSET__MASK				0x00f00000
#define GEN7_SURFACE_DW5_Y_OFFSET__SHIFT			20
#define GEN7_SURFACE_DW5_MOCS__MASK				0x000f0000
#define GEN7_SURFACE_DW5_MOCS__SHIFT				16
#define GEN7_SURFACE_DW5_MIN_LOD__MASK				0x000000f0
#define GEN7_SURFACE_DW5_MIN_LOD__SHIFT				4
#define GEN7_SURFACE_DW5_MIP_COUNT_LOD__MASK			0x0000000f
#define GEN7_SURFACE_DW5_MIP_COUNT_LOD__SHIFT			0

#define GEN7_SURFACE_DW6_UV_X_OFFSET__MASK			0x3fff0000
#define GEN7_SURFACE_DW6_UV_X_OFFSET__SHIFT			16
#define GEN7_SURFACE_DW6_UV_Y_OFFSET__MASK			0x00003fff
#define GEN7_SURFACE_DW6_UV_Y_OFFSET__SHIFT			0
#define GEN7_SURFACE_DW6_MCS_ADDR__MASK				0xfffff000
#define GEN7_SURFACE_DW6_MCS_ADDR__SHIFT			12
#define GEN7_SURFACE_DW6_MCS_ADDR__SHR				12
#define GEN7_SURFACE_DW6_MCS_PITCH__MASK			0x00000ff8
#define GEN7_SURFACE_DW6_MCS_PITCH__SHIFT			3
#define GEN7_SURFACE_DW6_MCS_ENABLE				(0x1 << 0)
#define GEN7_SURFACE_DW6_APPEND_COUNTER_ADDR__MASK		0xffffffc0
#define GEN7_SURFACE_DW6_APPEND_COUNTER_ADDR__SHIFT		6
#define GEN7_SURFACE_DW6_APPEND_COUNTER_ADDR__SHR		6
#define GEN7_SURFACE_DW6_APPEND_COUNTER_ENABLE			(0x1 << 1)

#define GEN7_SURFACE_DW7_CC_R__MASK				0x80000000
#define GEN7_SURFACE_DW7_CC_R__SHIFT				31
#define GEN7_SURFACE_DW7_CC_G__MASK				0x40000000
#define GEN7_SURFACE_DW7_CC_G__SHIFT				30
#define GEN7_SURFACE_DW7_CC_B__MASK				0x20000000
#define GEN7_SURFACE_DW7_CC_B__SHIFT				29
#define GEN7_SURFACE_DW7_CC_A__MASK				0x10000000
#define GEN7_SURFACE_DW7_CC_A__SHIFT				28
#define GEN75_SURFACE_DW7_SCS_R__MASK				0x0e000000
#define GEN75_SURFACE_DW7_SCS_R__SHIFT				25
#define GEN75_SURFACE_DW7_SCS_G__MASK				0x01c00000
#define GEN75_SURFACE_DW7_SCS_G__SHIFT				22
#define GEN75_SURFACE_DW7_SCS_B__MASK				0x00380000
#define GEN75_SURFACE_DW7_SCS_B__SHIFT				19
#define GEN75_SURFACE_DW7_SCS_A__MASK				0x00070000
#define GEN75_SURFACE_DW7_SCS_A__SHIFT				16
#define GEN7_SURFACE_DW7_RES_MIN_LOD__MASK			0x00000fff
#define GEN7_SURFACE_DW7_RES_MIN_LOD__SHIFT			0

#define GEN6_BINDING_TABLE_STATE__SIZE				256

#define GEN6_BINDING_TABLE_SURFACE_ADDR__MASK			0xffffffe0
#define GEN6_BINDING_TABLE_SURFACE_ADDR__SHIFT			5
#define GEN6_BINDING_TABLE_SURFACE_ADDR__SHR			5


#endif /* GEN_RENDER_SURFACE_XML */
