vk: Update generated headers with support for 64 bit fields
authorKristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Wed, 3 Jun 2015 05:53:43 +0000 (22:53 -0700)
committerKristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Wed, 3 Jun 2015 05:57:42 +0000 (22:57 -0700)
src/vulkan/gen75_pack.h
src/vulkan/gen7_pack.h
src/vulkan/gen8_pack.h

index 1f041ab1a721d18cea9b65753ed7fd7b9f5cd8e8..aa586df7785c077e97912f8ff0c71f5b3019118b 100644 (file)
@@ -317,9 +317,7 @@ GEN75_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_StatelessDataPortAccessMemoryObjectControlState;
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_StatelessDataPortAccessMemoryObjectControlState, &values->StatelessDataPortAccessMemoryObjectControlState);
    uint32_t dw1 =
-      /* Struct  GeneralStateMemoryObjectControlState (8..11): */
       __gen_field(dw_GeneralStateMemoryObjectControlState, 8, 11) |
-      /* Struct  StatelessDataPortAccessMemoryObjectControlState (4..7): */
       __gen_field(dw_StatelessDataPortAccessMemoryObjectControlState, 4, 7) |
       __gen_field(values->GeneralStateBaseAddressModifyEnable, 0, 0) |
       0;
@@ -330,7 +328,6 @@ GEN75_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_SurfaceStateMemoryObjectControlState;
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SurfaceStateMemoryObjectControlState, &values->SurfaceStateMemoryObjectControlState);
    uint32_t dw2 =
-      /* Struct  SurfaceStateMemoryObjectControlState (8..11): */
       __gen_field(dw_SurfaceStateMemoryObjectControlState, 8, 11) |
       __gen_field(values->SurfaceStateBaseAddressModifyEnable, 0, 0) |
       0;
@@ -341,7 +338,6 @@ GEN75_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_DynamicStateMemoryObjectControlState;
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_DynamicStateMemoryObjectControlState, &values->DynamicStateMemoryObjectControlState);
    uint32_t dw3 =
-      /* Struct  DynamicStateMemoryObjectControlState (8..11): */
       __gen_field(dw_DynamicStateMemoryObjectControlState, 8, 11) |
       __gen_field(values->DynamicStateBaseAddressModifyEnable, 0, 0) |
       0;
@@ -352,7 +348,6 @@ GEN75_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_IndirectObjectMemoryObjectControlState;
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_IndirectObjectMemoryObjectControlState, &values->IndirectObjectMemoryObjectControlState);
    uint32_t dw4 =
-      /* Struct  IndirectObjectMemoryObjectControlState (8..11): */
       __gen_field(dw_IndirectObjectMemoryObjectControlState, 8, 11) |
       __gen_field(values->IndirectObjectBaseAddressModifyEnable, 0, 0) |
       0;
@@ -363,7 +358,6 @@ GEN75_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_InstructionMemoryObjectControlState;
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_InstructionMemoryObjectControlState, &values->InstructionMemoryObjectControlState);
    uint32_t dw5 =
-      /* Struct  InstructionMemoryObjectControlState (8..11): */
       __gen_field(dw_InstructionMemoryObjectControlState, 8, 11) |
       __gen_field(values->InstructionBaseAddressModifyEnable, 0, 0) |
       0;
@@ -517,7 +511,6 @@ GEN75_SWTESS_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_SWTessellationMemoryObjectControlState;
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SWTessellationMemoryObjectControlState, &values->SWTessellationMemoryObjectControlState);
    uint32_t dw1 =
-      /* Struct  SWTessellationMemoryObjectControlState (8..11): */
       __gen_field(dw_SWTessellationMemoryObjectControlState, 8, 11) |
       0;
 
@@ -1110,7 +1103,6 @@ GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC_pack(__gen_user_data *data, void * restri
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SurfaceObjectControlState, &values->SurfaceObjectControlState);
    uint32_t dw1 =
       __gen_field(values->BindingTablePoolEnable, 11, 11) |
-      /* Struct  SurfaceObjectControlState (7..10): */
       __gen_field(dw_SurfaceObjectControlState, 7, 10) |
       0;
 
@@ -1434,7 +1426,6 @@ GEN75_3DSTATE_CONSTANT_BODY_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_ConstantBufferObjectControlState;
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_ConstantBufferObjectControlState, &values->ConstantBufferObjectControlState);
    uint32_t dw2 =
-      /* Struct  ConstantBufferObjectControlState (0..4): */
       __gen_field(dw_ConstantBufferObjectControlState, 0, 4) |
       0;
 
@@ -1709,7 +1700,6 @@ GEN75_3DSTATE_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    dw[4] =
       __gen_field(values->Depth, 21, 31) |
       __gen_field(values->MinimumArrayElement, 10, 20) |
-      /* Struct  DepthBufferObjectControlState (0..3): */
       __gen_field(dw_DepthBufferObjectControlState, 0, 3) |
       0;
 
@@ -2210,7 +2200,6 @@ GEN75_3DSTATE_GATHER_POOL_ALLOC_pack(__gen_user_data *data, void * restrict dst,
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
    uint32_t dw1 =
       __gen_field(values->GatherPoolEnable, 11, 11) |
-      /* Struct  MemoryObjectControlState (0..3): */
       __gen_field(dw_MemoryObjectControlState, 0, 3) |
       0;
 
@@ -2397,7 +2386,6 @@ GEN75_3DSTATE_HIER_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_HierarchicalDepthBufferObjectControlState;
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_HierarchicalDepthBufferObjectControlState, &values->HierarchicalDepthBufferObjectControlState);
    dw[1] =
-      /* Struct  HierarchicalDepthBufferObjectControlState (25..28): */
       __gen_field(dw_HierarchicalDepthBufferObjectControlState, 25, 28) |
       __gen_field(values->SurfacePitch, 0, 16) |
       0;
@@ -2551,7 +2539,6 @@ GEN75_3DSTATE_INDEX_BUFFER_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->CommandSubType, 27, 28) |
       __gen_field(values->_3DCommandOpcode, 24, 26) |
       __gen_field(values->_3DCommandSubOpcode, 16, 23) |
-      /* Struct  MemoryObjectControlState (12..15): */
       __gen_field(dw_MemoryObjectControlState, 12, 15) |
       __gen_field(values->IndexFormat, 8, 9) |
       __gen_field(values->DwordLength, 0, 7) |
@@ -3949,7 +3936,6 @@ GEN75_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SOBufferObjectControlState, &values->SOBufferObjectControlState);
    dw[1] =
       __gen_field(values->SOBufferIndex, 29, 30) |
-      /* Struct  SOBufferObjectControlState (25..28): */
       __gen_field(dw_SOBufferObjectControlState, 25, 28) |
       __gen_field(values->SurfacePitch, 0, 11) |
       0;
@@ -4018,18 +4004,16 @@ GEN75_SO_DECL_ENTRY_pack(__gen_user_data *data, void * restrict dst,
    GEN75_SO_DECL_pack(data, &dw_Stream1Decl, &values->Stream1Decl);
    uint32_t dw_Stream0Decl;
    GEN75_SO_DECL_pack(data, &dw_Stream0Decl, &values->Stream0Decl);
-   dw[0] =
-      /* Struct  Stream3Decl (48..63): */
+   uint64_t qw0 =
       __gen_field(dw_Stream3Decl, 48, 63) |
-      /* Struct  Stream2Decl (32..47): */
       __gen_field(dw_Stream2Decl, 32, 47) |
-      /* Struct  Stream1Decl (16..31): */
       __gen_field(dw_Stream1Decl, 16, 31) |
-      /* Struct  Stream0Decl (0..15): */
       __gen_field(dw_Stream0Decl, 0, 15) |
       0;
 
-   GEN75_SO_DECL_pack(data, &dw[0], &values->Stream0Decl);
+   dw[0] = qw0;
+   dw[1] = qw0 >> 32;
+
 }
 
 struct GEN75_3DSTATE_SO_DECL_LIST {
@@ -4119,7 +4103,6 @@ GEN75_3DSTATE_STENCIL_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_StencilBufferObjectControlState, &values->StencilBufferObjectControlState);
    dw[1] =
       __gen_field(values->StencilBufferEnable, 31, 31) |
-      /* Struct  StencilBufferObjectControlState (25..28): */
       __gen_field(dw_StencilBufferObjectControlState, 25, 28) |
       __gen_field(values->SurfacePitch, 0, 16) |
       0;
@@ -4434,7 +4417,6 @@ GEN75_VERTEX_BUFFER_STATE_pack(__gen_user_data *data, void * restrict dst,
    dw[0] =
       __gen_field(values->VertexBufferIndex, 26, 31) |
       __gen_field(values->BufferAccessType, 20, 20) |
-      /* Struct  VertexBufferMemoryObjectControlState (16..19): */
       __gen_field(dw_VertexBufferMemoryObjectControlState, 16, 19) |
       __gen_field(values->AddressModifyEnable, 14, 14) |
       __gen_field(values->NullVertexBuffer, 13, 13) |
@@ -7616,7 +7598,6 @@ GEN75_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
    dw[5] =
       __gen_offset(values->XOffset, 25, 31) |
       __gen_offset(values->YOffset, 20, 23) |
-      /* Struct  SurfaceObjectControlState (16..19): */
       __gen_field(dw_SurfaceObjectControlState, 16, 19) |
       __gen_field(values->SurfaceMinLOD, 4, 7) |
       __gen_field(values->MIPCountLOD, 0, 3) |
@@ -7655,9 +7636,9 @@ struct GEN75_SAMPLER_BORDER_COLOR_STATE {
    uint32_t                                     BorderColorGreen0;
    uint32_t                                     BorderColorBlue0;
    uint32_t                                     BorderColorAlpha0;
-   uint32_t                                     BorderColor;
-   uint32_t                                     BorderColor0;
-   uint32_t                                     BorderColor1;
+   uint64_t                                     BorderColor;
+   uint64_t                                     BorderColor0;
+   uint64_t                                     BorderColor1;
 };
 
 static inline void
index 34203d1d8201fb2893c0dc00a2f63e3b4f5dcebd..0c9ca3fb248b4163c543aabfe02787c97903e791 100644 (file)
@@ -278,9 +278,7 @@ GEN7_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_StatelessDataPortAccessMemoryObjectControlState;
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_StatelessDataPortAccessMemoryObjectControlState, &values->StatelessDataPortAccessMemoryObjectControlState);
    uint32_t dw1 =
-      /* Struct  GeneralStateMemoryObjectControlState (8..11): */
       __gen_field(dw_GeneralStateMemoryObjectControlState, 8, 11) |
-      /* Struct  StatelessDataPortAccessMemoryObjectControlState (4..7): */
       __gen_field(dw_StatelessDataPortAccessMemoryObjectControlState, 4, 7) |
       __gen_field(values->StatelessDataPortAccessForceWriteThru, 3, 3) |
       __gen_field(values->GeneralStateBaseAddressModifyEnable, 0, 0) |
@@ -292,7 +290,6 @@ GEN7_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_SurfaceStateMemoryObjectControlState;
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SurfaceStateMemoryObjectControlState, &values->SurfaceStateMemoryObjectControlState);
    uint32_t dw2 =
-      /* Struct  SurfaceStateMemoryObjectControlState (8..11): */
       __gen_field(dw_SurfaceStateMemoryObjectControlState, 8, 11) |
       __gen_field(values->SurfaceStateBaseAddressModifyEnable, 0, 0) |
       0;
@@ -303,7 +300,6 @@ GEN7_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_DynamicStateMemoryObjectControlState;
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_DynamicStateMemoryObjectControlState, &values->DynamicStateMemoryObjectControlState);
    uint32_t dw3 =
-      /* Struct  DynamicStateMemoryObjectControlState (8..11): */
       __gen_field(dw_DynamicStateMemoryObjectControlState, 8, 11) |
       __gen_field(values->DynamicStateBaseAddressModifyEnable, 0, 0) |
       0;
@@ -314,7 +310,6 @@ GEN7_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_IndirectObjectMemoryObjectControlState;
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_IndirectObjectMemoryObjectControlState, &values->IndirectObjectMemoryObjectControlState);
    uint32_t dw4 =
-      /* Struct  IndirectObjectMemoryObjectControlState (8..11): */
       __gen_field(dw_IndirectObjectMemoryObjectControlState, 8, 11) |
       __gen_field(values->IndirectObjectBaseAddressModifyEnable, 0, 0) |
       0;
@@ -325,7 +320,6 @@ GEN7_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_InstructionMemoryObjectControlState;
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_InstructionMemoryObjectControlState, &values->InstructionMemoryObjectControlState);
    uint32_t dw5 =
-      /* Struct  InstructionMemoryObjectControlState (8..11): */
       __gen_field(dw_InstructionMemoryObjectControlState, 8, 11) |
       __gen_field(values->InstructionBaseAddressModifyEnable, 0, 0) |
       0;
@@ -479,7 +473,6 @@ GEN7_SWTESS_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_SWTessellationMemoryObjectControlState;
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SWTessellationMemoryObjectControlState, &values->SWTessellationMemoryObjectControlState);
    uint32_t dw1 =
-      /* Struct  SWTessellationMemoryObjectControlState (8..11): */
       __gen_field(dw_SWTessellationMemoryObjectControlState, 8, 11) |
       0;
 
@@ -1107,7 +1100,6 @@ GEN7_3DSTATE_CONSTANT_BODY_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_ConstantBufferObjectControlState;
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_ConstantBufferObjectControlState, &values->ConstantBufferObjectControlState);
    uint32_t dw2 =
-      /* Struct  ConstantBufferObjectControlState (0..4): */
       __gen_field(dw_ConstantBufferObjectControlState, 0, 4) |
       0;
 
@@ -1382,7 +1374,6 @@ GEN7_3DSTATE_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    dw[4] =
       __gen_field(values->Depth, 21, 31) |
       __gen_field(values->MinimumArrayElement, 10, 20) |
-      /* Struct  DepthBufferObjectControlState (0..3): */
       __gen_field(dw_DepthBufferObjectControlState, 0, 3) |
       0;
 
@@ -1752,7 +1743,6 @@ GEN7_3DSTATE_HIER_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_HierarchicalDepthBufferObjectControlState;
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_HierarchicalDepthBufferObjectControlState, &values->HierarchicalDepthBufferObjectControlState);
    dw[1] =
-      /* Struct  HierarchicalDepthBufferObjectControlState (25..28): */
       __gen_field(dw_HierarchicalDepthBufferObjectControlState, 25, 28) |
       __gen_field(values->SurfacePitch, 0, 16) |
       0;
@@ -1901,7 +1891,6 @@ GEN7_3DSTATE_INDEX_BUFFER_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->CommandSubType, 27, 28) |
       __gen_field(values->_3DCommandOpcode, 24, 26) |
       __gen_field(values->_3DCommandSubOpcode, 16, 23) |
-      /* Struct  MemoryObjectControlState (12..15): */
       __gen_field(dw_MemoryObjectControlState, 12, 15) |
       __gen_field(values->CutIndexEnable, 10, 10) |
       __gen_field(values->IndexFormat, 8, 9) |
@@ -3179,7 +3168,6 @@ GEN7_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SOBufferObjectControlState, &values->SOBufferObjectControlState);
    dw[1] =
       __gen_field(values->SOBufferIndex, 29, 30) |
-      /* Struct  SOBufferObjectControlState (25..28): */
       __gen_field(dw_SOBufferObjectControlState, 25, 28) |
       __gen_field(values->SurfacePitch, 0, 11) |
       0;
@@ -3248,18 +3236,16 @@ GEN7_SO_DECL_ENTRY_pack(__gen_user_data *data, void * restrict dst,
    GEN7_SO_DECL_pack(data, &dw_Stream1Decl, &values->Stream1Decl);
    uint32_t dw_Stream0Decl;
    GEN7_SO_DECL_pack(data, &dw_Stream0Decl, &values->Stream0Decl);
-   dw[0] =
-      /* Struct  Stream3Decl (48..63): */
+   uint64_t qw0 =
       __gen_field(dw_Stream3Decl, 48, 63) |
-      /* Struct  Stream2Decl (32..47): */
       __gen_field(dw_Stream2Decl, 32, 47) |
-      /* Struct  Stream1Decl (16..31): */
       __gen_field(dw_Stream1Decl, 16, 31) |
-      /* Struct  Stream0Decl (0..15): */
       __gen_field(dw_Stream0Decl, 0, 15) |
       0;
 
-   GEN7_SO_DECL_pack(data, &dw[0], &values->Stream0Decl);
+   dw[0] = qw0;
+   dw[1] = qw0 >> 32;
+
 }
 
 struct GEN7_3DSTATE_SO_DECL_LIST {
@@ -3347,7 +3333,6 @@ GEN7_3DSTATE_STENCIL_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_StencilBufferObjectControlState;
    GEN7_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_StencilBufferObjectControlState, &values->StencilBufferObjectControlState);
    dw[1] =
-      /* Struct  StencilBufferObjectControlState (25..28): */
       __gen_field(dw_StencilBufferObjectControlState, 25, 28) |
       __gen_field(values->SurfacePitch, 0, 16) |
       0;
@@ -3662,7 +3647,6 @@ GEN7_VERTEX_BUFFER_STATE_pack(__gen_user_data *data, void * restrict dst,
    dw[0] =
       __gen_field(values->VertexBufferIndex, 26, 31) |
       __gen_field(values->BufferAccessType, 20, 20) |
-      /* Struct  VertexBufferMemoryObjectControlState (16..19): */
       __gen_field(dw_VertexBufferMemoryObjectControlState, 16, 19) |
       __gen_field(values->AddressModifyEnable, 14, 14) |
       __gen_field(values->NullVertexBuffer, 13, 13) |
index 59dbce8d4f691181862c7e75584aabf607147943..aeb5dadd020697494a0ae06b4d4bee654123251b 100644 (file)
@@ -136,7 +136,7 @@ struct GEN8_3DSTATE_VS {
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     KernelStartPointer;
+   uint64_t                                     KernelStartPointer;
 #define     Multiple                                           0
 #define     Single                                             1
    uint32_t                                     SingleVertexDispatch;
@@ -159,7 +159,7 @@ struct GEN8_3DSTATE_VS {
    uint32_t                                     IllegalOpcodeExceptionEnable;
    uint32_t                                     AccessesUAV;
    uint32_t                                     SoftwareExceptionEnable;
-   uint32_t                                     ScratchSpaceBasePointer;
+   uint64_t                                     ScratchSpaceBasePointer;
    uint32_t                                     PerThreadScratchSpace;
    uint32_t                                     DispatchGRFStartRegisterForURBData;
    uint32_t                                     VertexURBEntryReadLength;
@@ -189,10 +189,13 @@ GEN8_3DSTATE_VS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->DwordLength, 0, 7) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_offset(values->KernelStartPointer, 6, 63) |
       0;
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    dw[3] =
       __gen_field(values->SingleVertexDispatch, 31, 31) |
       __gen_field(values->VectorMaskEnable, 30, 30) |
@@ -205,11 +208,14 @@ GEN8_3DSTATE_VS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->SoftwareExceptionEnable, 7, 7) |
       0;
 
-   dw[4] =
+   uint64_t qw4 =
       __gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
       __gen_field(values->PerThreadScratchSpace, 0, 3) |
       0;
 
+   dw[4] = qw4;
+   dw[5] = qw4 >> 32;
+
    dw[6] =
       __gen_field(values->DispatchGRFStartRegisterForURBData, 20, 24) |
       __gen_field(values->VertexURBEntryReadLength, 11, 16) |
@@ -268,9 +274,12 @@ GEN8_GPGPU_CSR_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw1 =
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_combine_address(data, &dw[1], values->GPGPUCSRBaseAddressHigh, dw1);
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
 }
 
 #define GEN8_MI_ATOMIC_length 0x00000003
@@ -499,9 +508,12 @@ GEN8_MI_SEMAPHORE_WAIT_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->SemaphoreAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
 }
 
 #define GEN8_MI_STORE_REGISTER_MEM_length 0x00000004
@@ -542,9 +554,12 @@ GEN8_MI_STORE_REGISTER_MEM_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->MemoryAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
 }
 
 #define GEN8_PIPELINE_SELECT_length 0x00000001
@@ -668,65 +683,74 @@ GEN8_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_GeneralStateMemoryObjectControlState;
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_GeneralStateMemoryObjectControlState, &values->GeneralStateMemoryObjectControlState);
    uint32_t dw1 =
-      /* Struct  GeneralStateMemoryObjectControlState (4..10): */
       __gen_field(dw_GeneralStateMemoryObjectControlState, 4, 10) |
       __gen_field(values->GeneralStateBaseAddressModifyEnable, 0, 0) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_combine_address(data, &dw[1], values->GeneralStateBaseAddress, dw1);
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    uint32_t dw_StatelessDataPortAccessMemoryObjectControlState;
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_StatelessDataPortAccessMemoryObjectControlState, &values->StatelessDataPortAccessMemoryObjectControlState);
    dw[3] =
-      /* Struct  StatelessDataPortAccessMemoryObjectControlState (16..22): */
       __gen_field(dw_StatelessDataPortAccessMemoryObjectControlState, 16, 22) |
       0;
 
    uint32_t dw_SurfaceStateMemoryObjectControlState;
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SurfaceStateMemoryObjectControlState, &values->SurfaceStateMemoryObjectControlState);
    uint32_t dw4 =
-      /* Struct  SurfaceStateMemoryObjectControlState (4..10): */
       __gen_field(dw_SurfaceStateMemoryObjectControlState, 4, 10) |
       __gen_field(values->SurfaceStateBaseAddressModifyEnable, 0, 0) |
       0;
 
-   dw[4] =
+   uint64_t qw4 =
       __gen_combine_address(data, &dw[4], values->SurfaceStateBaseAddress, dw4);
 
+   dw[4] = qw4;
+   dw[5] = qw4 >> 32;
+
    uint32_t dw_DynamicStateMemoryObjectControlState;
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_DynamicStateMemoryObjectControlState, &values->DynamicStateMemoryObjectControlState);
    uint32_t dw6 =
-      /* Struct  DynamicStateMemoryObjectControlState (4..10): */
       __gen_field(dw_DynamicStateMemoryObjectControlState, 4, 10) |
       __gen_field(values->DynamicStateBaseAddressModifyEnable, 0, 0) |
       0;
 
-   dw[6] =
+   uint64_t qw6 =
       __gen_combine_address(data, &dw[6], values->DynamicStateBaseAddress, dw6);
 
+   dw[6] = qw6;
+   dw[7] = qw6 >> 32;
+
    uint32_t dw_IndirectObjectMemoryObjectControlState;
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_IndirectObjectMemoryObjectControlState, &values->IndirectObjectMemoryObjectControlState);
    uint32_t dw8 =
-      /* Struct  IndirectObjectMemoryObjectControlState (4..10): */
       __gen_field(dw_IndirectObjectMemoryObjectControlState, 4, 10) |
       __gen_field(values->IndirectObjectBaseAddressModifyEnable, 0, 0) |
       0;
 
-   dw[8] =
+   uint64_t qw8 =
       __gen_combine_address(data, &dw[8], values->IndirectObjectBaseAddress, dw8);
 
+   dw[8] = qw8;
+   dw[9] = qw8 >> 32;
+
    uint32_t dw_InstructionMemoryObjectControlState;
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_InstructionMemoryObjectControlState, &values->InstructionMemoryObjectControlState);
    uint32_t dw10 =
-      /* Struct  InstructionMemoryObjectControlState (4..10): */
       __gen_field(dw_InstructionMemoryObjectControlState, 4, 10) |
       __gen_field(values->InstructionBaseAddressModifyEnable, 0, 0) |
       0;
 
-   dw[10] =
+   uint64_t qw10 =
       __gen_combine_address(data, &dw[10], values->InstructionBaseAddress, dw10);
 
+   dw[10] = qw10;
+   dw[11] = qw10 >> 32;
+
    dw[12] =
       __gen_field(values->GeneralStateBufferSize, 12, 31) |
       __gen_field(values->GeneralStateBufferSizeModifyEnable, 0, 0) |
@@ -806,7 +830,7 @@ struct GEN8_STATE_SIP {
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     SystemInstructionPointer;
+   uint64_t                                     SystemInstructionPointer;
 };
 
 static inline void
@@ -823,10 +847,13 @@ GEN8_STATE_SIP_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->DwordLength, 0, 7) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_offset(values->SystemInstructionPointer, 4, 63) |
       0;
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
 }
 
 #define GEN8_SWTESS_BASE_ADDRESS_length 0x00000002
@@ -866,7 +893,6 @@ GEN8_SWTESS_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_SWTessellationMemoryObjectControlState;
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SWTessellationMemoryObjectControlState, &values->SWTessellationMemoryObjectControlState);
    uint32_t dw1 =
-      /* Struct  SWTessellationMemoryObjectControlState (8..11): */
       __gen_field(dw_SWTessellationMemoryObjectControlState, 8, 11) |
       0;
 
@@ -1474,13 +1500,15 @@ GEN8_3DSTATE_BINDING_TABLE_POOL_ALLOC_pack(__gen_user_data *data, void * restric
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SurfaceObjectControlState, &values->SurfaceObjectControlState);
    uint32_t dw1 =
       __gen_field(values->BindingTablePoolEnable, 11, 11) |
-      /* Struct  SurfaceObjectControlState (0..6): */
       __gen_field(dw_SurfaceObjectControlState, 0, 6) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_combine_address(data, &dw[1], values->BindingTablePoolBaseAddress, dw1);
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    dw[3] =
       __gen_field(values->BindingTablePoolBufferSize, 12, 31) |
       0;
@@ -1795,27 +1823,39 @@ GEN8_3DSTATE_CONSTANT_BODY_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->PointerToConstantBuffer0, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
    uint32_t dw4 =
       0;
 
-   dw[4] =
+   uint64_t qw4 =
       __gen_combine_address(data, &dw[4], values->PointerToConstantBuffer1, dw4);
 
+   dw[4] = qw4;
+   dw[5] = qw4 >> 32;
+
    uint32_t dw6 =
       0;
 
-   dw[6] =
+   uint64_t qw6 =
       __gen_combine_address(data, &dw[6], values->PointerToConstantBuffer2, dw6);
 
+   dw[6] = qw6;
+   dw[7] = qw6 >> 32;
+
    uint32_t dw8 =
       0;
 
-   dw[8] =
+   uint64_t qw8 =
       __gen_combine_address(data, &dw[8], values->PointerToConstantBuffer3, dw8);
 
+   dw[8] = qw8;
+   dw[9] = qw8 >> 32;
+
 }
 
 struct GEN8_3DSTATE_CONSTANT_DS {
@@ -1841,7 +1881,6 @@ GEN8_3DSTATE_CONSTANT_DS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->CommandSubType, 27, 28) |
       __gen_field(values->_3DCommandOpcode, 24, 26) |
       __gen_field(values->_3DCommandSubOpcode, 16, 23) |
-      /* Struct  ConstantBufferObjectControlState (8..14): */
       __gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
       __gen_field(values->DwordLength, 0, 7) |
       0;
@@ -1881,7 +1920,6 @@ GEN8_3DSTATE_CONSTANT_GS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->CommandSubType, 27, 28) |
       __gen_field(values->_3DCommandOpcode, 24, 26) |
       __gen_field(values->_3DCommandSubOpcode, 16, 23) |
-      /* Struct  ConstantBufferObjectControlState (8..14): */
       __gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
       __gen_field(values->DwordLength, 0, 7) |
       0;
@@ -1921,7 +1959,6 @@ GEN8_3DSTATE_CONSTANT_HS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->CommandSubType, 27, 28) |
       __gen_field(values->_3DCommandOpcode, 24, 26) |
       __gen_field(values->_3DCommandSubOpcode, 16, 23) |
-      /* Struct  ConstantBufferObjectControlState (8..14): */
       __gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
       __gen_field(values->DwordLength, 0, 7) |
       0;
@@ -1961,7 +1998,6 @@ GEN8_3DSTATE_CONSTANT_PS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->CommandSubType, 27, 28) |
       __gen_field(values->_3DCommandOpcode, 24, 26) |
       __gen_field(values->_3DCommandSubOpcode, 16, 23) |
-      /* Struct  ConstantBufferObjectControlState (8..14): */
       __gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
       __gen_field(values->DwordLength, 0, 7) |
       0;
@@ -2001,7 +2037,6 @@ GEN8_3DSTATE_CONSTANT_VS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->CommandSubType, 27, 28) |
       __gen_field(values->_3DCommandOpcode, 24, 26) |
       __gen_field(values->_3DCommandSubOpcode, 16, 23) |
-      /* Struct  ConstantBufferObjectControlState (8..14): */
       __gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
       __gen_field(values->DwordLength, 0, 7) |
       0;
@@ -2075,9 +2110,12 @@ GEN8_3DSTATE_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->SurfaceBaseAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
    dw[4] =
       __gen_field(values->Height, 18, 31) |
       __gen_field(values->Width, 4, 17) |
@@ -2089,7 +2127,6 @@ GEN8_3DSTATE_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    dw[5] =
       __gen_field(values->Depth, 21, 31) |
       __gen_field(values->MinimumArrayElement, 10, 20) |
-      /* Struct  DepthBufferObjectControlState (0..6): */
       __gen_field(dw_DepthBufferObjectControlState, 0, 6) |
       0;
 
@@ -2177,7 +2214,7 @@ struct GEN8_3DSTATE_DS {
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     KernelStartPointer;
+   uint64_t                                     KernelStartPointer;
 #define     Multiple                                           0
 #define     Single                                             1
    uint32_t                                     SingleDomainPointDispatch;
@@ -2200,7 +2237,7 @@ struct GEN8_3DSTATE_DS {
    uint32_t                                     AccessesUAV;
    uint32_t                                     IllegalOpcodeExceptionEnable;
    uint32_t                                     SoftwareExceptionEnable;
-   uint32_t                                     ScratchSpaceBasePointer;
+   uint64_t                                     ScratchSpaceBasePointer;
    uint32_t                                     PerThreadScratchSpace;
    uint32_t                                     DispatchGRFStartRegisterForURBData;
    uint32_t                                     PatchURBEntryReadLength;
@@ -2231,10 +2268,13 @@ GEN8_3DSTATE_DS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->DwordLength, 0, 7) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_offset(values->KernelStartPointer, 6, 63) |
       0;
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    dw[3] =
       __gen_field(values->SingleDomainPointDispatch, 31, 31) |
       __gen_field(values->VectorMaskEnable, 30, 30) |
@@ -2247,11 +2287,14 @@ GEN8_3DSTATE_DS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->SoftwareExceptionEnable, 7, 7) |
       0;
 
-   dw[4] =
+   uint64_t qw4 =
       __gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
       __gen_field(values->PerThreadScratchSpace, 0, 3) |
       0;
 
+   dw[4] = qw4;
+   dw[5] = qw4 >> 32;
+
    dw[6] =
       __gen_field(values->DispatchGRFStartRegisterForURBData, 20, 24) |
       __gen_field(values->PatchURBEntryReadLength, 11, 17) |
@@ -2574,13 +2617,15 @@ GEN8_3DSTATE_GATHER_POOL_ALLOC_pack(__gen_user_data *data, void * restrict dst,
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
    uint32_t dw1 =
       __gen_field(values->GatherPoolEnable, 11, 11) |
-      /* Struct  MemoryObjectControlState (0..6): */
       __gen_field(dw_MemoryObjectControlState, 0, 6) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_combine_address(data, &dw[1], values->GatherPoolBaseAddress, dw1);
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    dw[3] =
       __gen_field(values->GatherPoolBufferSize, 12, 31) |
       0;
@@ -2602,7 +2647,7 @@ struct GEN8_3DSTATE_GS {
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     KernelStartPointer;
+   uint64_t                                     KernelStartPointer;
    uint32_t                                     SingleProgramFlow;
 #define     Dmask                                              0
 #define     Vmask                                              1
@@ -2625,7 +2670,7 @@ struct GEN8_3DSTATE_GS {
    uint32_t                                     MaskStackExceptionEnable;
    uint32_t                                     SoftwareExceptionEnable;
    uint32_t                                     ExpectedVertexCount;
-   uint32_t                                     ScratchSpaceBasePointer;
+   uint64_t                                     ScratchSpaceBasePointer;
    uint32_t                                     PerThreadScratchSpace;
    uint32_t                                     OutputVertexSize;
    uint32_t                                     OutputTopology;
@@ -2676,10 +2721,13 @@ GEN8_3DSTATE_GS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->DwordLength, 0, 7) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_offset(values->KernelStartPointer, 6, 63) |
       0;
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    dw[3] =
       __gen_field(values->SingleProgramFlow, 31, 31) |
       __gen_field(values->VectorMaskEnable, 30, 30) |
@@ -2694,11 +2742,14 @@ GEN8_3DSTATE_GS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->ExpectedVertexCount, 0, 5) |
       0;
 
-   dw[4] =
+   uint64_t qw4 =
       __gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
       __gen_field(values->PerThreadScratchSpace, 0, 3) |
       0;
 
+   dw[4] = qw4;
+   dw[5] = qw4 >> 32;
+
    dw[6] =
       __gen_field(values->OutputVertexSize, 23, 28) |
       __gen_field(values->OutputTopology, 17, 22) |
@@ -2776,7 +2827,6 @@ GEN8_3DSTATE_HIER_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_HierarchicalDepthBufferObjectControlState;
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_HierarchicalDepthBufferObjectControlState, &values->HierarchicalDepthBufferObjectControlState);
    dw[1] =
-      /* Struct  HierarchicalDepthBufferObjectControlState (25..31): */
       __gen_field(dw_HierarchicalDepthBufferObjectControlState, 25, 31) |
       __gen_field(values->SurfacePitch, 0, 16) |
       0;
@@ -2784,9 +2834,12 @@ GEN8_3DSTATE_HIER_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->SurfaceBaseAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
    dw[4] =
       __gen_field(values->SurfaceQPitch, 0, 14) |
       0;
@@ -2827,8 +2880,8 @@ struct GEN8_3DSTATE_HS {
    uint32_t                                     StatisticsEnable;
    uint32_t                                     MaximumNumberofThreads;
    uint32_t                                     InstanceCount;
-   uint32_t                                     KernelStartPointer;
-   uint32_t                                     ScratchSpaceBasePointer;
+   uint64_t                                     KernelStartPointer;
+   uint64_t                                     ScratchSpaceBasePointer;
    uint32_t                                     PerThreadScratchSpace;
    uint32_t                                     SingleProgramFlow;
 #define     Dmask                                              0
@@ -2871,15 +2924,21 @@ GEN8_3DSTATE_HS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->InstanceCount, 0, 3) |
       0;
 
-   dw[3] =
+   uint64_t qw3 =
       __gen_offset(values->KernelStartPointer, 6, 63) |
       0;
 
-   dw[5] =
+   dw[3] = qw3;
+   dw[4] = qw3 >> 32;
+
+   uint64_t qw5 =
       __gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
       __gen_field(values->PerThreadScratchSpace, 0, 3) |
       0;
 
+   dw[5] = qw5;
+   dw[6] = qw5 >> 32;
+
    dw[7] =
       __gen_field(values->SingleProgramFlow, 27, 27) |
       __gen_field(values->VectorMaskEnable, 26, 26) |
@@ -2937,16 +2996,18 @@ GEN8_3DSTATE_INDEX_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
    dw[1] =
       __gen_field(values->IndexFormat, 8, 9) |
-      /* Struct  MemoryObjectControlState (0..6): */
       __gen_field(dw_MemoryObjectControlState, 0, 6) |
       0;
 
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->BufferStartingAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
    dw[4] =
       __gen_field(values->BufferSize, 0, 31) |
       0;
@@ -3181,7 +3242,7 @@ struct GEN8_3DSTATE_PS {
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     KernelStartPointer0;
+   uint64_t                                     KernelStartPointer0;
 #define     Multiple                                           0
 #define     Single                                             1
    uint32_t                                     SingleProgramFlow;
@@ -3212,7 +3273,7 @@ struct GEN8_3DSTATE_PS {
    uint32_t                                     IllegalOpcodeExceptionEnable;
    uint32_t                                     MaskStackExceptionEnable;
    uint32_t                                     SoftwareExceptionEnable;
-   uint32_t                                     ScratchSpaceBasePointer;
+   uint64_t                                     ScratchSpaceBasePointer;
    uint32_t                                     PerThreadScratchSpace;
    uint32_t                                     MaximumNumberofThreadsPerPSD;
    uint32_t                                     PushConstantEnable;
@@ -3228,8 +3289,8 @@ struct GEN8_3DSTATE_PS {
    uint32_t                                     DispatchGRFStartRegisterForConstantSetupData0;
    uint32_t                                     DispatchGRFStartRegisterForConstantSetupData1;
    uint32_t                                     DispatchGRFStartRegisterForConstantSetupData2;
-   uint32_t                                     KernelStartPointer1;
-   uint32_t                                     KernelStartPointer2;
+   uint64_t                                     KernelStartPointer1;
+   uint64_t                                     KernelStartPointer2;
 };
 
 static inline void
@@ -3246,10 +3307,13 @@ GEN8_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->DwordLength, 0, 7) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_offset(values->KernelStartPointer0, 6, 63) |
       0;
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    dw[3] =
       __gen_field(values->SingleProgramFlow, 31, 31) |
       __gen_field(values->VectorMaskEnable, 30, 30) |
@@ -3264,11 +3328,14 @@ GEN8_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->SoftwareExceptionEnable, 7, 7) |
       0;
 
-   dw[4] =
+   uint64_t qw4 =
       __gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
       __gen_field(values->PerThreadScratchSpace, 0, 3) |
       0;
 
+   dw[4] = qw4;
+   dw[5] = qw4 >> 32;
+
    dw[6] =
       __gen_field(values->MaximumNumberofThreadsPerPSD, 23, 31) |
       __gen_field(values->PushConstantEnable, 11, 11) |
@@ -3286,14 +3353,20 @@ GEN8_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->DispatchGRFStartRegisterForConstantSetupData2, 0, 6) |
       0;
 
-   dw[8] =
+   uint64_t qw8 =
       __gen_offset(values->KernelStartPointer1, 6, 63) |
       0;
 
-   dw[10] =
+   dw[8] = qw8;
+   dw[9] = qw8 >> 32;
+
+   uint64_t qw10 =
       __gen_offset(values->KernelStartPointer2, 6, 63) |
       0;
 
+   dw[10] = qw10;
+   dw[11] = qw10 >> 32;
+
 }
 
 #define GEN8_3DSTATE_PS_BLEND_length 0x00000002
@@ -4313,12 +4386,10 @@ GEN8_3DSTATE_SBE_SWIZ_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_Attribute;
    GEN8_SF_OUTPUT_ATTRIBUTE_DETAIL_pack(data, &dw_Attribute, &values->Attribute);
    dw[1] =
-      /* Struct  Attribute (0..15): */
       __gen_field(dw_Attribute, 0, 15) |
       0;
 
-   GEN8_SF_OUTPUT_ATTRIBUTE_DETAIL_pack(data, &dw[1], &values->Attribute);
-   dw[9] =
+   uint64_t qw9 =
       __gen_field(values->Attribute15WrapShortestEnables, 60, 63) |
       __gen_field(values->Attribute14WrapShortestEnables, 56, 59) |
       __gen_field(values->Attribute13WrapShortestEnables, 52, 55) |
@@ -4337,6 +4408,9 @@ GEN8_3DSTATE_SBE_SWIZ_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->Attribute00WrapShortestEnables, 0, 3) |
       0;
 
+   dw[9] = qw9;
+   dw[10] = qw9 >> 32;
+
 }
 
 #define GEN8_3DSTATE_SCISSOR_STATE_POINTERS_length 0x00000002
@@ -4499,7 +4573,6 @@ GEN8_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    dw[1] =
       __gen_field(values->SOBufferEnable, 31, 31) |
       __gen_field(values->SOBufferIndex, 29, 30) |
-      /* Struct  SOBufferObjectControlState (22..28): */
       __gen_field(dw_SOBufferObjectControlState, 22, 28) |
       __gen_field(values->StreamOffsetWriteEnable, 21, 21) |
       __gen_field(values->StreamOutputBufferOffsetAddressEnable, 20, 20) |
@@ -4508,9 +4581,12 @@ GEN8_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->SurfaceBaseAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
    dw[4] =
       __gen_field(values->SurfaceSize, 0, 29) |
       0;
@@ -4518,9 +4594,12 @@ GEN8_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw5 =
       0;
 
-   dw[5] =
+   uint64_t qw5 =
       __gen_combine_address(data, &dw[5], values->StreamOutputBufferOffsetAddress, dw5);
 
+   dw[5] = qw5;
+   dw[6] = qw5 >> 32;
+
    dw[7] =
       __gen_field(values->StreamOffset, 0, 31) |
       0;
@@ -4577,18 +4656,16 @@ GEN8_SO_DECL_ENTRY_pack(__gen_user_data *data, void * restrict dst,
    GEN8_SO_DECL_pack(data, &dw_Stream1Decl, &values->Stream1Decl);
    uint32_t dw_Stream0Decl;
    GEN8_SO_DECL_pack(data, &dw_Stream0Decl, &values->Stream0Decl);
-   dw[0] =
-      /* Struct  Stream3Decl (48..63): */
+   uint64_t qw0 =
       __gen_field(dw_Stream3Decl, 48, 63) |
-      /* Struct  Stream2Decl (32..47): */
       __gen_field(dw_Stream2Decl, 32, 47) |
-      /* Struct  Stream1Decl (16..31): */
       __gen_field(dw_Stream1Decl, 16, 31) |
-      /* Struct  Stream0Decl (0..15): */
       __gen_field(dw_Stream0Decl, 0, 15) |
       0;
 
-   GEN8_SO_DECL_pack(data, &dw[0], &values->Stream0Decl);
+   dw[0] = qw0;
+   dw[1] = qw0 >> 32;
+
 }
 
 struct GEN8_3DSTATE_SO_DECL_LIST {
@@ -4679,7 +4756,6 @@ GEN8_3DSTATE_STENCIL_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_StencilBufferObjectControlState, &values->StencilBufferObjectControlState);
    dw[1] =
       __gen_field(values->StencilBufferEnable, 31, 31) |
-      /* Struct  StencilBufferObjectControlState (22..28): */
       __gen_field(dw_StencilBufferObjectControlState, 22, 28) |
       __gen_field(values->SurfacePitch, 0, 16) |
       0;
@@ -4687,9 +4763,12 @@ GEN8_3DSTATE_STENCIL_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->SurfaceBaseAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
    dw[4] =
       __gen_field(values->SurfaceQPitch, 0, 14) |
       0;
@@ -5004,7 +5083,6 @@ GEN8_VERTEX_BUFFER_STATE_pack(__gen_user_data *data, void * restrict dst,
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
    dw[0] =
       __gen_field(values->VertexBufferIndex, 26, 31) |
-      /* Struct  MemoryObjectControlState (16..22): */
       __gen_field(dw_MemoryObjectControlState, 16, 22) |
       __gen_field(values->AddressModifyEnable, 14, 14) |
       __gen_field(values->NullVertexBuffer, 13, 13) |
@@ -5014,9 +5092,12 @@ GEN8_VERTEX_BUFFER_STATE_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw1 =
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_combine_address(data, &dw[1], values->BufferStartingAddress, dw1);
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    dw[3] =
       __gen_field(values->BufferSize, 0, 31) |
       0;
@@ -6666,15 +6747,21 @@ GEN8_MI_COPY_MEM_MEM_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw1 =
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_combine_address(data, &dw[1], values->DestinationMemoryAddress, dw1);
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    uint32_t dw3 =
       0;
 
-   dw[3] =
+   uint64_t qw3 =
       __gen_combine_address(data, &dw[3], values->SourceMemoryAddress, dw3);
 
+   dw[3] = qw3;
+   dw[4] = qw3 >> 32;
+
 }
 
 #define GEN8_MI_LOAD_REGISTER_IMM_length 0x00000003
@@ -6754,9 +6841,12 @@ GEN8_MI_LOAD_REGISTER_MEM_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->MemoryAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
 }
 
 #define GEN8_MI_LOAD_SCAN_LINES_EXCL_length 0x00000002
@@ -6876,9 +6966,12 @@ GEN8_MI_LOAD_URB_MEM_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->MemoryAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
 }
 
 #define GEN8_MI_MATH_length_bias 0x00000002
@@ -7097,9 +7190,12 @@ GEN8_MI_RS_STORE_DATA_IMM_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->CoreModeEnable, 0, 0) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_combine_address(data, &dw[1], values->DestinationAddress, dw1);
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    dw[3] =
       __gen_field(values->DataDWord0, 0, 31) |
       0;
@@ -7224,9 +7320,12 @@ GEN8_MI_STORE_DATA_IMM_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->CoreModeEnable, 0, 0) |
       0;
 
-   dw[1] =
+   uint64_t qw1 =
       __gen_combine_address(data, &dw[1], values->Address, dw1);
 
+   dw[1] = qw1;
+   dw[2] = qw1 >> 32;
+
    dw[3] =
       __gen_field(values->DataDWord0, 0, 31) |
       0;
@@ -7315,9 +7414,12 @@ GEN8_MI_STORE_URB_MEM_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw2 =
       0;
 
-   dw[2] =
+   uint64_t qw2 =
       __gen_combine_address(data, &dw[2], values->MemoryAddress, dw2);
 
+   dw[2] = qw2;
+   dw[3] = qw2 >> 32;
+
 }
 
 #define GEN8_MI_SUSPEND_FLUSH_length 0x00000001
@@ -7592,7 +7694,7 @@ struct GEN8_PIPE_CONTROL {
    uint32_t                                     DepthCacheFlushEnable;
    __gen_address_type                           Address;
    __gen_address_type                           AddressHigh;
-   uint32_t                                     ImmediateData;
+   uint64_t                                     ImmediateData;
 };
 
 static inline void
@@ -7645,10 +7747,13 @@ GEN8_PIPE_CONTROL_pack(__gen_user_data *data, void * restrict dst,
    dw[3] =
       __gen_combine_address(data, &dw[3], values->AddressHigh, dw3);
 
-   dw[4] =
+   uint64_t qw4 =
       __gen_field(values->ImmediateData, 0, 63) |
       0;
 
+   dw[4] = qw4;
+   dw[5] = qw4 >> 32;
+
 }
 
 #define GEN8_3DSTATE_CONSTANT_BODY_length 0x0000000a
@@ -8217,7 +8322,6 @@ GEN8_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw_MemoryObjectControlState;
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
    dw[1] =
-      /* Struct  MemoryObjectControlState (24..30): */
       __gen_field(dw_MemoryObjectControlState, 24, 30) |
       __gen_field(values->BaseMipLevel, 19, 23) |
       __gen_field(values->SurfaceQPitch, 0, 14) |
@@ -8275,18 +8379,24 @@ GEN8_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
    uint32_t dw8 =
       0;
 
-   dw[8] =
+   uint64_t qw8 =
       __gen_combine_address(data, &dw[8], values->SurfaceBaseAddress, dw8);
 
+   dw[8] = qw8;
+   dw[9] = qw8 >> 32;
+
    uint32_t dw10 =
       __gen_field(values->XOffsetforVPlane, 48, 61) |
       __gen_field(values->YOffsetforVPlane, 32, 45) |
       __gen_field(values->AuxiliaryTableIndexforMediaCompressedSurface, 21, 31) |
       0;
 
-   dw[10] =
+   uint64_t qw10 =
       __gen_combine_address(data, &dw[10], values->AuxiliarySurfaceBaseAddress, dw10);
 
+   dw[10] = qw10;
+   dw[11] = qw10 >> 32;
+
    dw[12] =
       0;