anv/gen7: Set SLM size in interface descriptor
[mesa.git] / src / vulkan / gen75_pack.h
index 1653cb11ae3ae17c534c1ed61a0c56561e05550a..b012032190eabd95a842156f76ec3da2091b8464 100644 (file)
@@ -44,6 +44,12 @@ union __gen_value {
    uint32_t dw;
 };
 
+static inline uint64_t
+__gen_mbo(uint32_t start, uint32_t end)
+{
+   return (~0ul >> (64 - (end - start + 1))) << start;
+}
+
 static inline uint64_t
 __gen_field(uint64_t v, uint32_t start, uint32_t end)
 {
@@ -56,6 +62,36 @@ __gen_field(uint64_t v, uint32_t start, uint32_t end)
    return v << start;
 }
 
+static inline uint64_t
+__gen_fixed(float v, uint32_t start, uint32_t end,
+            bool is_signed, uint32_t fract_bits)
+{
+   __gen_validate_value(v);
+
+   const float factor = (1 << fract_bits);
+
+   float max, min;
+   if (is_signed) {
+      max = ((1 << (end - start)) - 1) / factor;
+      min = -(1 << (end - start)) / factor;
+   } else {
+      max = ((1 << (end - start + 1)) - 1) / factor;
+      min = 0.0f;
+   }
+
+   if (v > max)
+      v = max;
+   else if (v < min)
+      v = min;
+
+   int32_t int_val = roundf(v * factor);
+
+   if (is_signed)
+      int_val &= (1 << (end - start + 1)) - 1;
+
+   return int_val << start;
+}
+
 static inline uint64_t
 __gen_offset(uint64_t v, uint32_t start, uint32_t end)
 {
@@ -86,7 +122,6 @@ __gen_float(float v)
 
 #endif
 
-#define GEN75_3DSTATE_URB_VS_length 0x00000002
 #define GEN75_3DSTATE_URB_VS_length_bias 0x00000002
 #define GEN75_3DSTATE_URB_VS_header             \
    .CommandType          =  3,                  \
@@ -95,6 +130,8 @@ __gen_float(float v)
    ._3DCommandSubOpcode  = 48,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_URB_VS_length 0x00000002
+
 struct GEN75_3DSTATE_URB_VS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -108,7 +145,7 @@ struct GEN75_3DSTATE_URB_VS {
 
 static inline void
 GEN75_3DSTATE_URB_VS_pack(__gen_user_data *data, void * restrict dst,
-                        const struct GEN75_3DSTATE_URB_VS * restrict values)
+                          const struct GEN75_3DSTATE_URB_VS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -128,7 +165,6 @@ GEN75_3DSTATE_URB_VS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_GPGPU_CSR_BASE_ADDRESS_length 0x00000002
 #define GEN75_GPGPU_CSR_BASE_ADDRESS_length_bias 0x00000002
 #define GEN75_GPGPU_CSR_BASE_ADDRESS_header     \
    .CommandType          =  3,                  \
@@ -137,6 +173,8 @@ GEN75_3DSTATE_URB_VS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  4,                  \
    .DwordLength          =  0
 
+#define GEN75_GPGPU_CSR_BASE_ADDRESS_length 0x00000002
+
 struct GEN75_GPGPU_CSR_BASE_ADDRESS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -148,7 +186,7 @@ struct GEN75_GPGPU_CSR_BASE_ADDRESS {
 
 static inline void
 GEN75_GPGPU_CSR_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
-                                const struct GEN75_GPGPU_CSR_BASE_ADDRESS * restrict values)
+                                  const struct GEN75_GPGPU_CSR_BASE_ADDRESS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -168,17 +206,18 @@ GEN75_GPGPU_CSR_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_STORE_REGISTER_MEM_length 0x00000003
 #define GEN75_MI_STORE_REGISTER_MEM_length_bias 0x00000002
 #define GEN75_MI_STORE_REGISTER_MEM_header      \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 36,                  \
    .DwordLength          =  1
 
+#define GEN75_MI_STORE_REGISTER_MEM_length 0x00000003
+
 struct GEN75_MI_STORE_REGISTER_MEM {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-   uint32_t                                     UseGlobalGTT;
+   bool                                         UseGlobalGTT;
    uint32_t                                     PredicateEnable;
    uint32_t                                     DwordLength;
    uint32_t                                     RegisterAddress;
@@ -187,7 +226,7 @@ struct GEN75_MI_STORE_REGISTER_MEM {
 
 static inline void
 GEN75_MI_STORE_REGISTER_MEM_pack(__gen_user_data *data, void * restrict dst,
-                               const struct GEN75_MI_STORE_REGISTER_MEM * restrict values)
+                                 const struct GEN75_MI_STORE_REGISTER_MEM * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -211,7 +250,6 @@ GEN75_MI_STORE_REGISTER_MEM_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_PIPELINE_SELECT_length 0x00000001
 #define GEN75_PIPELINE_SELECT_length_bias 0x00000001
 #define GEN75_PIPELINE_SELECT_header            \
    .CommandType          =  3,                  \
@@ -219,6 +257,8 @@ GEN75_MI_STORE_REGISTER_MEM_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandOpcode     =  1,                  \
    ._3DCommandSubOpcode  =  4
 
+#define GEN75_PIPELINE_SELECT_length 0x00000001
+
 struct GEN75_PIPELINE_SELECT {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -232,7 +272,7 @@ struct GEN75_PIPELINE_SELECT {
 
 static inline void
 GEN75_PIPELINE_SELECT_pack(__gen_user_data *data, void * restrict dst,
-                         const struct GEN75_PIPELINE_SELECT * restrict values)
+                           const struct GEN75_PIPELINE_SELECT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -246,7 +286,6 @@ GEN75_PIPELINE_SELECT_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_STATE_BASE_ADDRESS_length 0x0000000a
 #define GEN75_STATE_BASE_ADDRESS_length_bias 0x00000002
 #define GEN75_STATE_BASE_ADDRESS_header         \
    .CommandType          =  3,                  \
@@ -255,6 +294,10 @@ GEN75_PIPELINE_SELECT_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  1,                  \
    .DwordLength          =  8
 
+#define GEN75_STATE_BASE_ADDRESS_length 0x0000000a
+
+#define GEN75_MEMORY_OBJECT_CONTROL_STATE_length 0x00000001
+
 struct GEN75_MEMORY_OBJECT_CONTROL_STATE {
    uint32_t                                     LLCeLLCCacheabilityControlLLCCC;
    uint32_t                                     L3CacheabilityControlL3CC;
@@ -262,7 +305,7 @@ struct GEN75_MEMORY_OBJECT_CONTROL_STATE {
 
 static inline void
 GEN75_MEMORY_OBJECT_CONTROL_STATE_pack(__gen_user_data *data, void * restrict dst,
-                                     const struct GEN75_MEMORY_OBJECT_CONTROL_STATE * restrict values)
+                                       const struct GEN75_MEMORY_OBJECT_CONTROL_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -282,32 +325,32 @@ struct GEN75_STATE_BASE_ADDRESS {
    __gen_address_type                           GeneralStateBaseAddress;
    struct GEN75_MEMORY_OBJECT_CONTROL_STATE     GeneralStateMemoryObjectControlState;
    struct GEN75_MEMORY_OBJECT_CONTROL_STATE     StatelessDataPortAccessMemoryObjectControlState;
-   uint32_t                                     GeneralStateBaseAddressModifyEnable;
+   bool                                         GeneralStateBaseAddressModifyEnable;
    __gen_address_type                           SurfaceStateBaseAddress;
    struct GEN75_MEMORY_OBJECT_CONTROL_STATE     SurfaceStateMemoryObjectControlState;
-   uint32_t                                     SurfaceStateBaseAddressModifyEnable;
+   bool                                         SurfaceStateBaseAddressModifyEnable;
    __gen_address_type                           DynamicStateBaseAddress;
    struct GEN75_MEMORY_OBJECT_CONTROL_STATE     DynamicStateMemoryObjectControlState;
-   uint32_t                                     DynamicStateBaseAddressModifyEnable;
+   bool                                         DynamicStateBaseAddressModifyEnable;
    __gen_address_type                           IndirectObjectBaseAddress;
    struct GEN75_MEMORY_OBJECT_CONTROL_STATE     IndirectObjectMemoryObjectControlState;
-   uint32_t                                     IndirectObjectBaseAddressModifyEnable;
+   bool                                         IndirectObjectBaseAddressModifyEnable;
    __gen_address_type                           InstructionBaseAddress;
    struct GEN75_MEMORY_OBJECT_CONTROL_STATE     InstructionMemoryObjectControlState;
-   uint32_t                                     InstructionBaseAddressModifyEnable;
+   bool                                         InstructionBaseAddressModifyEnable;
    __gen_address_type                           GeneralStateAccessUpperBound;
-   uint32_t                                     GeneralStateAccessUpperBoundModifyEnable;
+   bool                                         GeneralStateAccessUpperBoundModifyEnable;
    __gen_address_type                           DynamicStateAccessUpperBound;
-   uint32_t                                     DynamicStateAccessUpperBoundModifyEnable;
+   bool                                         DynamicStateAccessUpperBoundModifyEnable;
    __gen_address_type                           IndirectObjectAccessUpperBound;
-   uint32_t                                     IndirectObjectAccessUpperBoundModifyEnable;
+   bool                                         IndirectObjectAccessUpperBoundModifyEnable;
    __gen_address_type                           InstructionAccessUpperBound;
-   uint32_t                                     InstructionAccessUpperBoundModifyEnable;
+   bool                                         InstructionAccessUpperBoundModifyEnable;
 };
 
 static inline void
 GEN75_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
-                            const struct GEN75_STATE_BASE_ADDRESS * restrict values)
+                              const struct GEN75_STATE_BASE_ADDRESS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -402,7 +445,6 @@ GEN75_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_STATE_PREFETCH_length 0x00000002
 #define GEN75_STATE_PREFETCH_length_bias 0x00000002
 #define GEN75_STATE_PREFETCH_header             \
    .CommandType          =  3,                  \
@@ -411,6 +453,8 @@ GEN75_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  3,                  \
    .DwordLength          =  0
 
+#define GEN75_STATE_PREFETCH_length 0x00000002
+
 struct GEN75_STATE_PREFETCH {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -423,7 +467,7 @@ struct GEN75_STATE_PREFETCH {
 
 static inline void
 GEN75_STATE_PREFETCH_pack(__gen_user_data *data, void * restrict dst,
-                        const struct GEN75_STATE_PREFETCH * restrict values)
+                          const struct GEN75_STATE_PREFETCH * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -444,7 +488,6 @@ GEN75_STATE_PREFETCH_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_STATE_SIP_length 0x00000002
 #define GEN75_STATE_SIP_length_bias 0x00000002
 #define GEN75_STATE_SIP_header                  \
    .CommandType          =  3,                  \
@@ -453,6 +496,8 @@ GEN75_STATE_PREFETCH_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  2,                  \
    .DwordLength          =  0
 
+#define GEN75_STATE_SIP_length 0x00000002
+
 struct GEN75_STATE_SIP {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -464,7 +509,7 @@ struct GEN75_STATE_SIP {
 
 static inline void
 GEN75_STATE_SIP_pack(__gen_user_data *data, void * restrict dst,
-                   const struct GEN75_STATE_SIP * restrict values)
+                     const struct GEN75_STATE_SIP * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -482,7 +527,6 @@ GEN75_STATE_SIP_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_SWTESS_BASE_ADDRESS_length 0x00000002
 #define GEN75_SWTESS_BASE_ADDRESS_length_bias 0x00000002
 #define GEN75_SWTESS_BASE_ADDRESS_header        \
    .CommandType          =  3,                  \
@@ -491,6 +535,8 @@ GEN75_STATE_SIP_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  3,                  \
    .DwordLength          =  0
 
+#define GEN75_SWTESS_BASE_ADDRESS_length 0x00000002
+
 struct GEN75_SWTESS_BASE_ADDRESS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -503,7 +549,7 @@ struct GEN75_SWTESS_BASE_ADDRESS {
 
 static inline void
 GEN75_SWTESS_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_SWTESS_BASE_ADDRESS * restrict values)
+                               const struct GEN75_SWTESS_BASE_ADDRESS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -526,7 +572,6 @@ GEN75_SWTESS_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DPRIMITIVE_length 0x00000007
 #define GEN75_3DPRIMITIVE_length_bias 0x00000002
 #define GEN75_3DPRIMITIVE_header                \
    .CommandType          =  3,                  \
@@ -535,16 +580,18 @@ GEN75_SWTESS_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  0,                  \
    .DwordLength          =  5
 
+#define GEN75_3DPRIMITIVE_length 0x00000007
+
 struct GEN75_3DPRIMITIVE {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
-   uint32_t                                     IndirectParameterEnable;
+   bool                                         IndirectParameterEnable;
    uint32_t                                     UAVCoherencyRequired;
-   uint32_t                                     PredicateEnable;
+   bool                                         PredicateEnable;
    uint32_t                                     DwordLength;
-   uint32_t                                     EndOffsetEnable;
+   bool                                         EndOffsetEnable;
 #define     SEQUENTIAL                                         0
 #define     RANDOM                                             1
    uint32_t                                     VertexAccessType;
@@ -558,7 +605,7 @@ struct GEN75_3DPRIMITIVE {
 
 static inline void
 GEN75_3DPRIMITIVE_pack(__gen_user_data *data, void * restrict dst,
-                     const struct GEN75_3DPRIMITIVE * restrict values)
+                       const struct GEN75_3DPRIMITIVE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -601,7 +648,6 @@ GEN75_3DPRIMITIVE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_AA_LINE_PARAMETERS_length 0x00000003
 #define GEN75_3DSTATE_AA_LINE_PARAMETERS_length_bias 0x00000002
 #define GEN75_3DSTATE_AA_LINE_PARAMETERS_header \
    .CommandType          =  3,                  \
@@ -610,6 +656,8 @@ GEN75_3DPRIMITIVE_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 10,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_AA_LINE_PARAMETERS_length 0x00000003
+
 struct GEN75_3DSTATE_AA_LINE_PARAMETERS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -624,7 +672,7 @@ struct GEN75_3DSTATE_AA_LINE_PARAMETERS {
 
 static inline void
 GEN75_3DSTATE_AA_LINE_PARAMETERS_pack(__gen_user_data *data, void * restrict dst,
-                                    const struct GEN75_3DSTATE_AA_LINE_PARAMETERS * restrict values)
+                                      const struct GEN75_3DSTATE_AA_LINE_PARAMETERS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -655,6 +703,10 @@ GEN75_3DSTATE_AA_LINE_PARAMETERS_pack(__gen_user_data *data, void * restrict dst
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 70
 
+#define GEN75_3DSTATE_BINDING_TABLE_EDIT_DS_length 0x00000000
+
+#define GEN75_BINDING_TABLE_EDIT_ENTRY_length 0x00000001
+
 struct GEN75_BINDING_TABLE_EDIT_ENTRY {
    uint32_t                                     BindingTableIndex;
    uint32_t                                     SurfaceStatePointer;
@@ -662,7 +714,7 @@ struct GEN75_BINDING_TABLE_EDIT_ENTRY {
 
 static inline void
 GEN75_BINDING_TABLE_EDIT_ENTRY_pack(__gen_user_data *data, void * restrict dst,
-                                  const struct GEN75_BINDING_TABLE_EDIT_ENTRY * restrict values)
+                                    const struct GEN75_BINDING_TABLE_EDIT_ENTRY * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -689,7 +741,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_EDIT_DS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_EDIT_DS_pack(__gen_user_data *data, void * restrict dst,
-                                       const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_DS * restrict values)
+                                         const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_DS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -716,6 +768,8 @@ GEN75_3DSTATE_BINDING_TABLE_EDIT_DS_pack(__gen_user_data *data, void * restrict
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 68
 
+#define GEN75_3DSTATE_BINDING_TABLE_EDIT_GS_length 0x00000000
+
 struct GEN75_3DSTATE_BINDING_TABLE_EDIT_GS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -732,7 +786,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_EDIT_GS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_EDIT_GS_pack(__gen_user_data *data, void * restrict dst,
-                                       const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_GS * restrict values)
+                                         const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_GS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -759,6 +813,8 @@ GEN75_3DSTATE_BINDING_TABLE_EDIT_GS_pack(__gen_user_data *data, void * restrict
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 69
 
+#define GEN75_3DSTATE_BINDING_TABLE_EDIT_HS_length 0x00000000
+
 struct GEN75_3DSTATE_BINDING_TABLE_EDIT_HS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -775,7 +831,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_EDIT_HS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_EDIT_HS_pack(__gen_user_data *data, void * restrict dst,
-                                       const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_HS * restrict values)
+                                         const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_HS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -802,6 +858,8 @@ GEN75_3DSTATE_BINDING_TABLE_EDIT_HS_pack(__gen_user_data *data, void * restrict
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 71
 
+#define GEN75_3DSTATE_BINDING_TABLE_EDIT_PS_length 0x00000000
+
 struct GEN75_3DSTATE_BINDING_TABLE_EDIT_PS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -818,7 +876,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_EDIT_PS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_EDIT_PS_pack(__gen_user_data *data, void * restrict dst,
-                                       const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_PS * restrict values)
+                                         const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_PS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -845,6 +903,8 @@ GEN75_3DSTATE_BINDING_TABLE_EDIT_PS_pack(__gen_user_data *data, void * restrict
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 67
 
+#define GEN75_3DSTATE_BINDING_TABLE_EDIT_VS_length 0x00000000
+
 struct GEN75_3DSTATE_BINDING_TABLE_EDIT_VS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -861,7 +921,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_EDIT_VS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_EDIT_VS_pack(__gen_user_data *data, void * restrict dst,
-                                       const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_VS * restrict values)
+                                         const struct GEN75_3DSTATE_BINDING_TABLE_EDIT_VS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -881,7 +941,6 @@ GEN75_3DSTATE_BINDING_TABLE_EDIT_VS_pack(__gen_user_data *data, void * restrict
    /* variable length fields follow */
 }
 
-#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS_length 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS_length_bias 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS_header\
    .CommandType          =  3,                  \
@@ -890,6 +949,8 @@ GEN75_3DSTATE_BINDING_TABLE_EDIT_VS_pack(__gen_user_data *data, void * restrict
    ._3DCommandSubOpcode  = 40,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS_length 0x00000002
+
 struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -901,7 +962,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS * restrict values)
+                                             const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -919,7 +980,6 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS_length 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS_length_bias 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS_header\
    .CommandType          =  3,                  \
@@ -928,6 +988,8 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_DS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 41,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS_length 0x00000002
+
 struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -939,7 +1001,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS * restrict values)
+                                             const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -957,7 +1019,6 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS_length 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS_length_bias 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS_header\
    .CommandType          =  3,                  \
@@ -966,6 +1027,8 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_GS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 39,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS_length 0x00000002
+
 struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -977,7 +1040,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS * restrict values)
+                                             const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -995,7 +1058,6 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS_length 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS_length_bias 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS_header\
    .CommandType          =  3,                  \
@@ -1004,6 +1066,8 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_HS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 42,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS_length 0x00000002
+
 struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1015,7 +1079,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS * restrict values)
+                                             const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1033,7 +1097,6 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS_length 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS_length_bias 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS_header\
    .CommandType          =  3,                  \
@@ -1042,6 +1105,8 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_PS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 38,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS_length 0x00000002
+
 struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1053,7 +1118,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS * restrict values)
+                                             const struct GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1071,7 +1136,6 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC_length 0x00000003
 #define GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC_length_bias 0x00000002
 #define GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC_header\
    .CommandType          =  3,                  \
@@ -1080,6 +1144,8 @@ GEN75_3DSTATE_BINDING_TABLE_POINTERS_VS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 25,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC_length 0x00000003
+
 struct GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1094,7 +1160,7 @@ struct GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC {
 
 static inline void
 GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC_pack(__gen_user_data *data, void * restrict dst,
-                                          const struct GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC * restrict values)
+                                            const struct GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1124,7 +1190,6 @@ GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC_pack(__gen_user_data *data, void * restri
 
 }
 
-#define GEN75_3DSTATE_BLEND_STATE_POINTERS_length 0x00000002
 #define GEN75_3DSTATE_BLEND_STATE_POINTERS_length_bias 0x00000002
 #define GEN75_3DSTATE_BLEND_STATE_POINTERS_header\
    .CommandType          =  3,                  \
@@ -1133,6 +1198,8 @@ GEN75_3DSTATE_BINDING_TABLE_POOL_ALLOC_pack(__gen_user_data *data, void * restri
    ._3DCommandSubOpcode  = 36,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_BLEND_STATE_POINTERS_length 0x00000002
+
 struct GEN75_3DSTATE_BLEND_STATE_POINTERS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1144,7 +1211,7 @@ struct GEN75_3DSTATE_BLEND_STATE_POINTERS {
 
 static inline void
 GEN75_3DSTATE_BLEND_STATE_POINTERS_pack(__gen_user_data *data, void * restrict dst,
-                                      const struct GEN75_3DSTATE_BLEND_STATE_POINTERS * restrict values)
+                                        const struct GEN75_3DSTATE_BLEND_STATE_POINTERS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1158,11 +1225,11 @@ GEN75_3DSTATE_BLEND_STATE_POINTERS_pack(__gen_user_data *data, void * restrict d
 
    dw[1] =
       __gen_offset(values->BlendStatePointer, 6, 31) |
+      __gen_mbo(0, 0) |
       0;
 
 }
 
-#define GEN75_3DSTATE_CC_STATE_POINTERS_length 0x00000002
 #define GEN75_3DSTATE_CC_STATE_POINTERS_length_bias 0x00000002
 #define GEN75_3DSTATE_CC_STATE_POINTERS_header  \
    .CommandType          =  3,                  \
@@ -1171,6 +1238,8 @@ GEN75_3DSTATE_BLEND_STATE_POINTERS_pack(__gen_user_data *data, void * restrict d
    ._3DCommandSubOpcode  = 14,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_CC_STATE_POINTERS_length 0x00000002
+
 struct GEN75_3DSTATE_CC_STATE_POINTERS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1182,7 +1251,7 @@ struct GEN75_3DSTATE_CC_STATE_POINTERS {
 
 static inline void
 GEN75_3DSTATE_CC_STATE_POINTERS_pack(__gen_user_data *data, void * restrict dst,
-                                   const struct GEN75_3DSTATE_CC_STATE_POINTERS * restrict values)
+                                     const struct GEN75_3DSTATE_CC_STATE_POINTERS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1196,11 +1265,11 @@ GEN75_3DSTATE_CC_STATE_POINTERS_pack(__gen_user_data *data, void * restrict dst,
 
    dw[1] =
       __gen_offset(values->ColorCalcStatePointer, 6, 31) |
+      __gen_mbo(0, 0) |
       0;
 
 }
 
-#define GEN75_3DSTATE_CHROMA_KEY_length 0x00000004
 #define GEN75_3DSTATE_CHROMA_KEY_length_bias 0x00000002
 #define GEN75_3DSTATE_CHROMA_KEY_header         \
    .CommandType          =  3,                  \
@@ -1209,6 +1278,8 @@ GEN75_3DSTATE_CC_STATE_POINTERS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  4,                  \
    .DwordLength          =  2
 
+#define GEN75_3DSTATE_CHROMA_KEY_length 0x00000004
+
 struct GEN75_3DSTATE_CHROMA_KEY {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1222,7 +1293,7 @@ struct GEN75_3DSTATE_CHROMA_KEY {
 
 static inline void
 GEN75_3DSTATE_CHROMA_KEY_pack(__gen_user_data *data, void * restrict dst,
-                            const struct GEN75_3DSTATE_CHROMA_KEY * restrict values)
+                              const struct GEN75_3DSTATE_CHROMA_KEY * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1248,7 +1319,6 @@ GEN75_3DSTATE_CHROMA_KEY_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_CLEAR_PARAMS_length 0x00000003
 #define GEN75_3DSTATE_CLEAR_PARAMS_length_bias 0x00000002
 #define GEN75_3DSTATE_CLEAR_PARAMS_header       \
    .CommandType          =  3,                  \
@@ -1257,6 +1327,8 @@ GEN75_3DSTATE_CHROMA_KEY_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  4,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_CLEAR_PARAMS_length 0x00000003
+
 struct GEN75_3DSTATE_CLEAR_PARAMS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1264,12 +1336,12 @@ struct GEN75_3DSTATE_CLEAR_PARAMS {
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
    uint32_t                                     DepthClearValue;
-   uint32_t                                     DepthClearValueValid;
+   bool                                         DepthClearValueValid;
 };
 
 static inline void
 GEN75_3DSTATE_CLEAR_PARAMS_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_3DSTATE_CLEAR_PARAMS * restrict values)
+                                const struct GEN75_3DSTATE_CLEAR_PARAMS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1291,7 +1363,6 @@ GEN75_3DSTATE_CLEAR_PARAMS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_CLIP_length 0x00000004
 #define GEN75_3DSTATE_CLIP_length_bias 0x00000002
 #define GEN75_3DSTATE_CLIP_header               \
    .CommandType          =  3,                  \
@@ -1300,6 +1371,8 @@ GEN75_3DSTATE_CLEAR_PARAMS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 18,                  \
    .DwordLength          =  2
 
+#define GEN75_3DSTATE_CLIP_length 0x00000004
+
 struct GEN75_3DSTATE_CLIP {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1308,27 +1381,27 @@ struct GEN75_3DSTATE_CLIP {
    uint32_t                                     DwordLength;
    uint32_t                                     FrontWinding;
    uint32_t                                     VertexSubPixelPrecisionSelect;
-   uint32_t                                     EarlyCullEnable;
+   bool                                         EarlyCullEnable;
 #define     CULLMODE_BOTH                                      0
 #define     CULLMODE_NONE                                      1
 #define     CULLMODE_FRONT                                     2
 #define     CULLMODE_BACK                                      3
    uint32_t                                     CullMode;
-   uint32_t                                     ClipperStatisticsEnable;
+   bool                                         ClipperStatisticsEnable;
    uint32_t                                     UserClipDistanceCullTestEnableBitmask;
-   uint32_t                                     ClipEnable;
+   bool                                         ClipEnable;
 #define     APIMODE_OGL                                        0
    uint32_t                                     APIMode;
-   uint32_t                                     ViewportXYClipTestEnable;
-   uint32_t                                     ViewportZClipTestEnable;
-   uint32_t                                     GuardbandClipTestEnable;
+   bool                                         ViewportXYClipTestEnable;
+   bool                                         ViewportZClipTestEnable;
+   bool                                         GuardbandClipTestEnable;
    uint32_t                                     UserClipDistanceClipTestEnableBitmask;
 #define     CLIPMODE_NORMAL                                    0
 #define     CLIPMODE_REJECT_ALL                                3
 #define     CLIPMODE_ACCEPT_ALL                                4
    uint32_t                                     ClipMode;
-   uint32_t                                     PerspectiveDivideDisable;
-   uint32_t                                     NonPerspectiveBarycentricEnable;
+   bool                                         PerspectiveDivideDisable;
+   bool                                         NonPerspectiveBarycentricEnable;
 #define     Vertex0                                            0
 #define     Vertex1                                            1
 #define     Vertex2                                            2
@@ -1342,13 +1415,13 @@ struct GEN75_3DSTATE_CLIP {
    uint32_t                                     TriangleFanProvokingVertexSelect;
    float                                        MinimumPointWidth;
    float                                        MaximumPointWidth;
-   uint32_t                                     ForceZeroRTAIndexEnable;
+   bool                                         ForceZeroRTAIndexEnable;
    uint32_t                                     MaximumVPIndex;
 };
 
 static inline void
 GEN75_3DSTATE_CLIP_pack(__gen_user_data *data, void * restrict dst,
-                      const struct GEN75_3DSTATE_CLIP * restrict values)
+                        const struct GEN75_3DSTATE_CLIP * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1393,7 +1466,6 @@ GEN75_3DSTATE_CLIP_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_CONSTANT_DS_length 0x00000007
 #define GEN75_3DSTATE_CONSTANT_DS_length_bias 0x00000002
 #define GEN75_3DSTATE_CONSTANT_DS_header        \
    .CommandType          =  3,                  \
@@ -1402,6 +1474,10 @@ GEN75_3DSTATE_CLIP_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 26,                  \
    .DwordLength          =  5
 
+#define GEN75_3DSTATE_CONSTANT_DS_length 0x00000007
+
+#define GEN75_3DSTATE_CONSTANT_BODY_length 0x00000006
+
 struct GEN75_3DSTATE_CONSTANT_BODY {
    uint32_t                                     ConstantBuffer1ReadLength;
    uint32_t                                     ConstantBuffer0ReadLength;
@@ -1416,7 +1492,7 @@ struct GEN75_3DSTATE_CONSTANT_BODY {
 
 static inline void
 GEN75_3DSTATE_CONSTANT_BODY_pack(__gen_user_data *data, void * restrict dst,
-                               const struct GEN75_3DSTATE_CONSTANT_BODY * restrict values)
+                                 const struct GEN75_3DSTATE_CONSTANT_BODY * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1470,7 +1546,7 @@ struct GEN75_3DSTATE_CONSTANT_DS {
 
 static inline void
 GEN75_3DSTATE_CONSTANT_DS_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_3DSTATE_CONSTANT_DS * restrict values)
+                               const struct GEN75_3DSTATE_CONSTANT_DS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1485,7 +1561,6 @@ GEN75_3DSTATE_CONSTANT_DS_pack(__gen_user_data *data, void * restrict dst,
    GEN75_3DSTATE_CONSTANT_BODY_pack(data, &dw[1], &values->ConstantBody);
 }
 
-#define GEN75_3DSTATE_CONSTANT_GS_length 0x00000007
 #define GEN75_3DSTATE_CONSTANT_GS_length_bias 0x00000002
 #define GEN75_3DSTATE_CONSTANT_GS_header        \
    .CommandType          =  3,                  \
@@ -1494,6 +1569,8 @@ GEN75_3DSTATE_CONSTANT_DS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 22,                  \
    .DwordLength          =  5
 
+#define GEN75_3DSTATE_CONSTANT_GS_length 0x00000007
+
 struct GEN75_3DSTATE_CONSTANT_GS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1505,7 +1582,7 @@ struct GEN75_3DSTATE_CONSTANT_GS {
 
 static inline void
 GEN75_3DSTATE_CONSTANT_GS_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_3DSTATE_CONSTANT_GS * restrict values)
+                               const struct GEN75_3DSTATE_CONSTANT_GS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1520,7 +1597,6 @@ GEN75_3DSTATE_CONSTANT_GS_pack(__gen_user_data *data, void * restrict dst,
    GEN75_3DSTATE_CONSTANT_BODY_pack(data, &dw[1], &values->ConstantBody);
 }
 
-#define GEN75_3DSTATE_CONSTANT_HS_length 0x00000007
 #define GEN75_3DSTATE_CONSTANT_HS_length_bias 0x00000002
 #define GEN75_3DSTATE_CONSTANT_HS_header        \
    .CommandType          =  3,                  \
@@ -1529,6 +1605,8 @@ GEN75_3DSTATE_CONSTANT_GS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 25,                  \
    .DwordLength          =  5
 
+#define GEN75_3DSTATE_CONSTANT_HS_length 0x00000007
+
 struct GEN75_3DSTATE_CONSTANT_HS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1540,7 +1618,7 @@ struct GEN75_3DSTATE_CONSTANT_HS {
 
 static inline void
 GEN75_3DSTATE_CONSTANT_HS_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_3DSTATE_CONSTANT_HS * restrict values)
+                               const struct GEN75_3DSTATE_CONSTANT_HS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1555,7 +1633,6 @@ GEN75_3DSTATE_CONSTANT_HS_pack(__gen_user_data *data, void * restrict dst,
    GEN75_3DSTATE_CONSTANT_BODY_pack(data, &dw[1], &values->ConstantBody);
 }
 
-#define GEN75_3DSTATE_CONSTANT_PS_length 0x00000007
 #define GEN75_3DSTATE_CONSTANT_PS_length_bias 0x00000002
 #define GEN75_3DSTATE_CONSTANT_PS_header        \
    .CommandType          =  3,                  \
@@ -1564,6 +1641,8 @@ GEN75_3DSTATE_CONSTANT_HS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 23,                  \
    .DwordLength          =  5
 
+#define GEN75_3DSTATE_CONSTANT_PS_length 0x00000007
+
 struct GEN75_3DSTATE_CONSTANT_PS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1575,7 +1654,7 @@ struct GEN75_3DSTATE_CONSTANT_PS {
 
 static inline void
 GEN75_3DSTATE_CONSTANT_PS_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_3DSTATE_CONSTANT_PS * restrict values)
+                               const struct GEN75_3DSTATE_CONSTANT_PS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1590,7 +1669,6 @@ GEN75_3DSTATE_CONSTANT_PS_pack(__gen_user_data *data, void * restrict dst,
    GEN75_3DSTATE_CONSTANT_BODY_pack(data, &dw[1], &values->ConstantBody);
 }
 
-#define GEN75_3DSTATE_CONSTANT_VS_length 0x00000007
 #define GEN75_3DSTATE_CONSTANT_VS_length_bias 0x00000002
 #define GEN75_3DSTATE_CONSTANT_VS_header        \
    .CommandType          =  3,                  \
@@ -1599,6 +1677,8 @@ GEN75_3DSTATE_CONSTANT_PS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 21,                  \
    .DwordLength          =  5
 
+#define GEN75_3DSTATE_CONSTANT_VS_length 0x00000007
+
 struct GEN75_3DSTATE_CONSTANT_VS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1610,7 +1690,7 @@ struct GEN75_3DSTATE_CONSTANT_VS {
 
 static inline void
 GEN75_3DSTATE_CONSTANT_VS_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_3DSTATE_CONSTANT_VS * restrict values)
+                               const struct GEN75_3DSTATE_CONSTANT_VS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1625,7 +1705,6 @@ GEN75_3DSTATE_CONSTANT_VS_pack(__gen_user_data *data, void * restrict dst,
    GEN75_3DSTATE_CONSTANT_BODY_pack(data, &dw[1], &values->ConstantBody);
 }
 
-#define GEN75_3DSTATE_DEPTH_BUFFER_length 0x00000007
 #define GEN75_3DSTATE_DEPTH_BUFFER_length_bias 0x00000002
 #define GEN75_3DSTATE_DEPTH_BUFFER_header       \
    .CommandType          =  3,                  \
@@ -1634,6 +1713,8 @@ GEN75_3DSTATE_CONSTANT_VS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  5,                  \
    .DwordLength          =  5
 
+#define GEN75_3DSTATE_DEPTH_BUFFER_length 0x00000007
+
 struct GEN75_3DSTATE_DEPTH_BUFFER {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1646,9 +1727,9 @@ struct GEN75_3DSTATE_DEPTH_BUFFER {
 #define     SURFTYPE_CUBE                                      3
 #define     SURFTYPE_NULL                                      7
    uint32_t                                     SurfaceType;
-   uint32_t                                     DepthWriteEnable;
-   uint32_t                                     StencilWriteEnable;
-   uint32_t                                     HierarchicalDepthBufferEnable;
+   bool                                         DepthWriteEnable;
+   bool                                         StencilWriteEnable;
+   bool                                         HierarchicalDepthBufferEnable;
 #define     D32_FLOAT                                          1
 #define     D24_UNORM_X8_UINT                                  3
 #define     D16_UNORM                                          5
@@ -1669,7 +1750,7 @@ struct GEN75_3DSTATE_DEPTH_BUFFER {
 
 static inline void
 GEN75_3DSTATE_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_3DSTATE_DEPTH_BUFFER * restrict values)
+                                const struct GEN75_3DSTATE_DEPTH_BUFFER * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1721,7 +1802,6 @@ GEN75_3DSTATE_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS_length 0x00000002
 #define GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS_length_bias 0x00000002
 #define GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS_header\
    .CommandType          =  3,                  \
@@ -1730,6 +1810,8 @@ GEN75_3DSTATE_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 37,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS_length 0x00000002
+
 struct GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1741,7 +1823,7 @@ struct GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS {
 
 static inline void
 GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS_pack(__gen_user_data *data, void * restrict dst,
-                                              const struct GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS * restrict values)
+                                                const struct GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1755,11 +1837,11 @@ GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS_pack(__gen_user_data *data, void * re
 
    dw[1] =
       __gen_offset(values->PointertoDEPTH_STENCIL_STATE, 6, 31) |
+      __gen_mbo(0, 0) |
       0;
 
 }
 
-#define GEN75_3DSTATE_DRAWING_RECTANGLE_length 0x00000004
 #define GEN75_3DSTATE_DRAWING_RECTANGLE_length_bias 0x00000002
 #define GEN75_3DSTATE_DRAWING_RECTANGLE_header  \
    .CommandType          =  3,                  \
@@ -1768,6 +1850,8 @@ GEN75_3DSTATE_DEPTH_STENCIL_STATE_POINTERS_pack(__gen_user_data *data, void * re
    ._3DCommandSubOpcode  =  0,                  \
    .DwordLength          =  2
 
+#define GEN75_3DSTATE_DRAWING_RECTANGLE_length 0x00000004
+
 struct GEN75_3DSTATE_DRAWING_RECTANGLE {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1788,7 +1872,7 @@ struct GEN75_3DSTATE_DRAWING_RECTANGLE {
 
 static inline void
 GEN75_3DSTATE_DRAWING_RECTANGLE_pack(__gen_user_data *data, void * restrict dst,
-                                   const struct GEN75_3DSTATE_DRAWING_RECTANGLE * restrict values)
+                                     const struct GEN75_3DSTATE_DRAWING_RECTANGLE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1818,7 +1902,6 @@ GEN75_3DSTATE_DRAWING_RECTANGLE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_DS_length 0x00000006
 #define GEN75_3DSTATE_DS_length_bias 0x00000002
 #define GEN75_3DSTATE_DS_header                 \
    .CommandType          =  3,                  \
@@ -1827,6 +1910,8 @@ GEN75_3DSTATE_DRAWING_RECTANGLE_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 29,                  \
    .DwordLength          =  4
 
+#define GEN75_3DSTATE_DS_length 0x00000006
+
 struct GEN75_3DSTATE_DS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -1853,24 +1938,24 @@ struct GEN75_3DSTATE_DS {
 #define     IEEE754                                            0
 #define     Alternate                                          1
    uint32_t                                     FloatingPointMode;
-   uint32_t                                     AccessesUAV;
-   uint32_t                                     IllegalOpcodeExceptionEnable;
-   uint32_t                                     SoftwareExceptionEnable;
+   bool                                         AccessesUAV;
+   bool                                         IllegalOpcodeExceptionEnable;
+   bool                                         SoftwareExceptionEnable;
    uint32_t                                     ScratchSpaceBasePointer;
    uint32_t                                     PerThreadScratchSpace;
    uint32_t                                     DispatchGRFStartRegisterForURBData;
    uint32_t                                     PatchURBEntryReadLength;
    uint32_t                                     PatchURBEntryReadOffset;
    uint32_t                                     MaximumNumberofThreads;
-   uint32_t                                     StatisticsEnable;
-   uint32_t                                     ComputeWCoordinateEnable;
-   uint32_t                                     DSCacheDisable;
-   uint32_t                                     DSFunctionEnable;
+   bool                                         StatisticsEnable;
+   bool                                         ComputeWCoordinateEnable;
+   bool                                         DSCacheDisable;
+   bool                                         DSFunctionEnable;
 };
 
 static inline void
 GEN75_3DSTATE_DS_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_3DSTATE_DS * restrict values)
+                      const struct GEN75_3DSTATE_DS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1926,6 +2011,10 @@ GEN75_3DSTATE_DS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 55
 
+#define GEN75_3DSTATE_GATHER_CONSTANT_DS_length 0x00000000
+
+#define GEN75_GATHER_CONSTANT_ENTRY_length 0x00000001
+
 struct GEN75_GATHER_CONSTANT_ENTRY {
    uint32_t                                     ConstantBufferOffset;
    uint32_t                                     ChannelMask;
@@ -1934,7 +2023,7 @@ struct GEN75_GATHER_CONSTANT_ENTRY {
 
 static inline void
 GEN75_GATHER_CONSTANT_ENTRY_pack(__gen_user_data *data, void * restrict dst,
-                               const struct GEN75_GATHER_CONSTANT_ENTRY * restrict values)
+                                 const struct GEN75_GATHER_CONSTANT_ENTRY * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1960,7 +2049,7 @@ struct GEN75_3DSTATE_GATHER_CONSTANT_DS {
 
 static inline void
 GEN75_3DSTATE_GATHER_CONSTANT_DS_pack(__gen_user_data *data, void * restrict dst,
-                                    const struct GEN75_3DSTATE_GATHER_CONSTANT_DS * restrict values)
+                                      const struct GEN75_3DSTATE_GATHER_CONSTANT_DS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -1991,6 +2080,8 @@ GEN75_3DSTATE_GATHER_CONSTANT_DS_pack(__gen_user_data *data, void * restrict dst
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 53
 
+#define GEN75_3DSTATE_GATHER_CONSTANT_GS_length 0x00000000
+
 struct GEN75_3DSTATE_GATHER_CONSTANT_GS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2005,7 +2096,7 @@ struct GEN75_3DSTATE_GATHER_CONSTANT_GS {
 
 static inline void
 GEN75_3DSTATE_GATHER_CONSTANT_GS_pack(__gen_user_data *data, void * restrict dst,
-                                    const struct GEN75_3DSTATE_GATHER_CONSTANT_GS * restrict values)
+                                      const struct GEN75_3DSTATE_GATHER_CONSTANT_GS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2036,6 +2127,8 @@ GEN75_3DSTATE_GATHER_CONSTANT_GS_pack(__gen_user_data *data, void * restrict dst
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 54
 
+#define GEN75_3DSTATE_GATHER_CONSTANT_HS_length 0x00000000
+
 struct GEN75_3DSTATE_GATHER_CONSTANT_HS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2050,7 +2143,7 @@ struct GEN75_3DSTATE_GATHER_CONSTANT_HS {
 
 static inline void
 GEN75_3DSTATE_GATHER_CONSTANT_HS_pack(__gen_user_data *data, void * restrict dst,
-                                    const struct GEN75_3DSTATE_GATHER_CONSTANT_HS * restrict values)
+                                      const struct GEN75_3DSTATE_GATHER_CONSTANT_HS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2081,6 +2174,8 @@ GEN75_3DSTATE_GATHER_CONSTANT_HS_pack(__gen_user_data *data, void * restrict dst
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 56
 
+#define GEN75_3DSTATE_GATHER_CONSTANT_PS_length 0x00000000
+
 struct GEN75_3DSTATE_GATHER_CONSTANT_PS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2090,13 +2185,13 @@ struct GEN75_3DSTATE_GATHER_CONSTANT_PS {
    uint32_t                                     ConstantBufferValid;
    uint32_t                                     ConstantBufferBindingTableBlock;
    uint32_t                                     GatherBufferOffset;
-   uint32_t                                     ConstantBufferDx9Enable;
+   bool                                         ConstantBufferDx9Enable;
    /* variable length fields follow */
 };
 
 static inline void
 GEN75_3DSTATE_GATHER_CONSTANT_PS_pack(__gen_user_data *data, void * restrict dst,
-                                    const struct GEN75_3DSTATE_GATHER_CONSTANT_PS * restrict values)
+                                      const struct GEN75_3DSTATE_GATHER_CONSTANT_PS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2128,6 +2223,8 @@ GEN75_3DSTATE_GATHER_CONSTANT_PS_pack(__gen_user_data *data, void * restrict dst
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 52
 
+#define GEN75_3DSTATE_GATHER_CONSTANT_VS_length 0x00000000
+
 struct GEN75_3DSTATE_GATHER_CONSTANT_VS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2137,13 +2234,13 @@ struct GEN75_3DSTATE_GATHER_CONSTANT_VS {
    uint32_t                                     ConstantBufferValid;
    uint32_t                                     ConstantBufferBindingTableBlock;
    uint32_t                                     GatherBufferOffset;
-   uint32_t                                     ConstantBufferDx9Enable;
+   bool                                         ConstantBufferDx9Enable;
    /* variable length fields follow */
 };
 
 static inline void
 GEN75_3DSTATE_GATHER_CONSTANT_VS_pack(__gen_user_data *data, void * restrict dst,
-                                    const struct GEN75_3DSTATE_GATHER_CONSTANT_VS * restrict values)
+                                      const struct GEN75_3DSTATE_GATHER_CONSTANT_VS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2168,7 +2265,6 @@ GEN75_3DSTATE_GATHER_CONSTANT_VS_pack(__gen_user_data *data, void * restrict dst
    /* variable length fields follow */
 }
 
-#define GEN75_3DSTATE_GATHER_POOL_ALLOC_length 0x00000003
 #define GEN75_3DSTATE_GATHER_POOL_ALLOC_length_bias 0x00000002
 #define GEN75_3DSTATE_GATHER_POOL_ALLOC_header  \
    .CommandType          =  3,                  \
@@ -2177,6 +2273,8 @@ GEN75_3DSTATE_GATHER_CONSTANT_VS_pack(__gen_user_data *data, void * restrict dst
    ._3DCommandSubOpcode  = 26,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_GATHER_POOL_ALLOC_length 0x00000003
+
 struct GEN75_3DSTATE_GATHER_POOL_ALLOC {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2184,14 +2282,14 @@ struct GEN75_3DSTATE_GATHER_POOL_ALLOC {
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
    __gen_address_type                           GatherPoolBaseAddress;
-   uint32_t                                     GatherPoolEnable;
+   bool                                         GatherPoolEnable;
    struct GEN75_MEMORY_OBJECT_CONTROL_STATE     MemoryObjectControlState;
    __gen_address_type                           GatherPoolUpperBound;
 };
 
 static inline void
 GEN75_3DSTATE_GATHER_POOL_ALLOC_pack(__gen_user_data *data, void * restrict dst,
-                                   const struct GEN75_3DSTATE_GATHER_POOL_ALLOC * restrict values)
+                                     const struct GEN75_3DSTATE_GATHER_POOL_ALLOC * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2207,6 +2305,7 @@ 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) |
+      __gen_mbo(4, 5) |
       __gen_field(dw_MemoryObjectControlState, 0, 3) |
       0;
 
@@ -2221,7 +2320,6 @@ GEN75_3DSTATE_GATHER_POOL_ALLOC_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_GS_length 0x00000007
 #define GEN75_3DSTATE_GS_length_bias 0x00000002
 #define GEN75_3DSTATE_GS_header                 \
    .CommandType          =  3,                  \
@@ -2230,6 +2328,8 @@ GEN75_3DSTATE_GATHER_POOL_ALLOC_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 17,                  \
    .DwordLength          =  5
 
+#define GEN75_3DSTATE_GS_length 0x00000007
+
 struct GEN75_3DSTATE_GS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2254,16 +2354,16 @@ struct GEN75_3DSTATE_GS {
 #define     IEEE754                                            0
 #define     alternate                                          1
    uint32_t                                     FloatingPointMode;
-   uint32_t                                     IllegalOpcodeExceptionEnable;
+   bool                                         IllegalOpcodeExceptionEnable;
    uint32_t                                     GSaccessesUAV;
-   uint32_t                                     MaskStackExceptionEnable;
-   uint32_t                                     SoftwareExceptionEnable;
+   bool                                         MaskStackExceptionEnable;
+   bool                                         SoftwareExceptionEnable;
    uint32_t                                     ScratchSpaceBasePointer;
    uint32_t                                     PerThreadScratchSpace;
    uint32_t                                     OutputVertexSize;
    uint32_t                                     OutputTopology;
    uint32_t                                     VertexURBEntryReadLength;
-   uint32_t                                     IncludeVertexHandles;
+   bool                                         IncludeVertexHandles;
    uint32_t                                     VertexURBEntryReadOffset;
    uint32_t                                     DispatchGRFStartRegisterforURBData;
    uint32_t                                     MaximumNumberofThreads;
@@ -2276,13 +2376,13 @@ struct GEN75_3DSTATE_GS {
    uint32_t                                     DispatchMode;
    uint32_t                                     GSStatisticsEnable;
    uint32_t                                     GSInvocationsIncrementValue;
-   uint32_t                                     IncludePrimitiveID;
+   bool                                         IncludePrimitiveID;
    uint32_t                                     Hint;
 #define     REORDER_LEADING                                    0
 #define     REORDER_TRAILING                                   1
    uint32_t                                     ReorderMode;
-   uint32_t                                     DiscardAdjacency;
-   uint32_t                                     GSEnable;
+   bool                                         DiscardAdjacency;
+   bool                                         GSEnable;
 #define     GSCTL_CUT                                          0
 #define     GSCTL_SID                                          1
    uint32_t                                     ControlDataFormat;
@@ -2291,7 +2391,7 @@ struct GEN75_3DSTATE_GS {
 
 static inline void
 GEN75_3DSTATE_GS_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_3DSTATE_GS * restrict values)
+                      const struct GEN75_3DSTATE_GS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2356,7 +2456,6 @@ GEN75_3DSTATE_GS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_HIER_DEPTH_BUFFER_length 0x00000003
 #define GEN75_3DSTATE_HIER_DEPTH_BUFFER_length_bias 0x00000002
 #define GEN75_3DSTATE_HIER_DEPTH_BUFFER_header  \
    .CommandType          =  3,                  \
@@ -2365,6 +2464,8 @@ GEN75_3DSTATE_GS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  7,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_HIER_DEPTH_BUFFER_length 0x00000003
+
 struct GEN75_3DSTATE_HIER_DEPTH_BUFFER {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2378,7 +2479,7 @@ struct GEN75_3DSTATE_HIER_DEPTH_BUFFER {
 
 static inline void
 GEN75_3DSTATE_HIER_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
-                                   const struct GEN75_3DSTATE_HIER_DEPTH_BUFFER * restrict values)
+                                     const struct GEN75_3DSTATE_HIER_DEPTH_BUFFER * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2405,7 +2506,6 @@ GEN75_3DSTATE_HIER_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_HS_length 0x00000007
 #define GEN75_3DSTATE_HS_length_bias 0x00000002
 #define GEN75_3DSTATE_HS_header                 \
    .CommandType          =  3,                  \
@@ -2414,6 +2514,8 @@ GEN75_3DSTATE_HIER_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 27,                  \
    .DwordLength          =  5
 
+#define GEN75_3DSTATE_HS_length 0x00000007
+
 struct GEN75_3DSTATE_HS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2433,11 +2535,11 @@ struct GEN75_3DSTATE_HS {
 #define     IEEE754                                            0
 #define     alternate                                          1
    uint32_t                                     FloatingPointMode;
-   uint32_t                                     IllegalOpcodeExceptionEnable;
-   uint32_t                                     SoftwareExceptionEnable;
+   bool                                         IllegalOpcodeExceptionEnable;
+   bool                                         SoftwareExceptionEnable;
    uint32_t                                     MaximumNumberofThreads;
-   uint32_t                                     Enable;
-   uint32_t                                     StatisticsEnable;
+   bool                                         Enable;
+   bool                                         StatisticsEnable;
    uint32_t                                     InstanceCount;
    uint32_t                                     KernelStartPointer;
    uint32_t                                     ScratchSpaceBasePointer;
@@ -2446,8 +2548,8 @@ struct GEN75_3DSTATE_HS {
 #define     Dmask                                              0
 #define     Vmask                                              1
    uint32_t                                     VectorMaskEnable;
-   uint32_t                                     HSaccessesUAV;
-   uint32_t                                     IncludeVertexHandles;
+   bool                                         HSaccessesUAV;
+   bool                                         IncludeVertexHandles;
    uint32_t                                     DispatchGRFStartRegisterForURBData;
    uint32_t                                     VertexURBEntryReadLength;
    uint32_t                                     VertexURBEntryReadOffset;
@@ -2456,7 +2558,7 @@ struct GEN75_3DSTATE_HS {
 
 static inline void
 GEN75_3DSTATE_HS_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_3DSTATE_HS * restrict values)
+                      const struct GEN75_3DSTATE_HS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2509,7 +2611,6 @@ GEN75_3DSTATE_HS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_INDEX_BUFFER_length 0x00000003
 #define GEN75_3DSTATE_INDEX_BUFFER_length_bias 0x00000002
 #define GEN75_3DSTATE_INDEX_BUFFER_header       \
    .CommandType          =  3,                  \
@@ -2518,6 +2619,8 @@ GEN75_3DSTATE_HS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 10,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_INDEX_BUFFER_length 0x00000003
+
 struct GEN75_3DSTATE_INDEX_BUFFER {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2535,7 +2638,7 @@ struct GEN75_3DSTATE_INDEX_BUFFER {
 
 static inline void
 GEN75_3DSTATE_INDEX_BUFFER_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_3DSTATE_INDEX_BUFFER * restrict values)
+                                const struct GEN75_3DSTATE_INDEX_BUFFER * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2565,7 +2668,6 @@ GEN75_3DSTATE_INDEX_BUFFER_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_LINE_STIPPLE_length 0x00000003
 #define GEN75_3DSTATE_LINE_STIPPLE_length_bias 0x00000002
 #define GEN75_3DSTATE_LINE_STIPPLE_header       \
    .CommandType          =  3,                  \
@@ -2574,13 +2676,15 @@ GEN75_3DSTATE_INDEX_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  8,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_LINE_STIPPLE_length 0x00000003
+
 struct GEN75_3DSTATE_LINE_STIPPLE {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     ModifyEnableCurrentRepeatCounterCurrentStippleIndex;
+   bool                                         ModifyEnableCurrentRepeatCounterCurrentStippleIndex;
    uint32_t                                     CurrentRepeatCounter;
    uint32_t                                     CurrentStippleIndex;
    uint32_t                                     LineStipplePattern;
@@ -2590,7 +2694,7 @@ struct GEN75_3DSTATE_LINE_STIPPLE {
 
 static inline void
 GEN75_3DSTATE_LINE_STIPPLE_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_3DSTATE_LINE_STIPPLE * restrict values)
+                                const struct GEN75_3DSTATE_LINE_STIPPLE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2616,7 +2720,6 @@ GEN75_3DSTATE_LINE_STIPPLE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_MONOFILTER_SIZE_length 0x00000002
 #define GEN75_3DSTATE_MONOFILTER_SIZE_length_bias 0x00000002
 #define GEN75_3DSTATE_MONOFILTER_SIZE_header    \
    .CommandType          =  3,                  \
@@ -2625,6 +2728,8 @@ GEN75_3DSTATE_LINE_STIPPLE_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 17,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_MONOFILTER_SIZE_length 0x00000002
+
 struct GEN75_3DSTATE_MONOFILTER_SIZE {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2637,7 +2742,7 @@ struct GEN75_3DSTATE_MONOFILTER_SIZE {
 
 static inline void
 GEN75_3DSTATE_MONOFILTER_SIZE_pack(__gen_user_data *data, void * restrict dst,
-                                 const struct GEN75_3DSTATE_MONOFILTER_SIZE * restrict values)
+                                   const struct GEN75_3DSTATE_MONOFILTER_SIZE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2656,7 +2761,6 @@ GEN75_3DSTATE_MONOFILTER_SIZE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_MULTISAMPLE_length 0x00000004
 #define GEN75_3DSTATE_MULTISAMPLE_length_bias 0x00000002
 #define GEN75_3DSTATE_MULTISAMPLE_header        \
    .CommandType          =  3,                  \
@@ -2665,13 +2769,15 @@ GEN75_3DSTATE_MONOFILTER_SIZE_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 13,                  \
    .DwordLength          =  2
 
+#define GEN75_3DSTATE_MULTISAMPLE_length 0x00000004
+
 struct GEN75_3DSTATE_MULTISAMPLE {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     MultiSampleEnable;
+   bool                                         MultiSampleEnable;
 #define     PIXLOC_CENTER                                      0
 #define     PIXLOC_UL_CORNER                                   1
    uint32_t                                     PixelLocation;
@@ -2699,7 +2805,7 @@ struct GEN75_3DSTATE_MULTISAMPLE {
 
 static inline void
 GEN75_3DSTATE_MULTISAMPLE_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_3DSTATE_MULTISAMPLE * restrict values)
+                               const struct GEN75_3DSTATE_MULTISAMPLE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2741,7 +2847,6 @@ GEN75_3DSTATE_MULTISAMPLE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_POLY_STIPPLE_OFFSET_length 0x00000002
 #define GEN75_3DSTATE_POLY_STIPPLE_OFFSET_length_bias 0x00000002
 #define GEN75_3DSTATE_POLY_STIPPLE_OFFSET_header\
    .CommandType          =  3,                  \
@@ -2750,6 +2855,8 @@ GEN75_3DSTATE_MULTISAMPLE_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  6,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_POLY_STIPPLE_OFFSET_length 0x00000002
+
 struct GEN75_3DSTATE_POLY_STIPPLE_OFFSET {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2762,7 +2869,7 @@ struct GEN75_3DSTATE_POLY_STIPPLE_OFFSET {
 
 static inline void
 GEN75_3DSTATE_POLY_STIPPLE_OFFSET_pack(__gen_user_data *data, void * restrict dst,
-                                     const struct GEN75_3DSTATE_POLY_STIPPLE_OFFSET * restrict values)
+                                       const struct GEN75_3DSTATE_POLY_STIPPLE_OFFSET * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2781,7 +2888,6 @@ GEN75_3DSTATE_POLY_STIPPLE_OFFSET_pack(__gen_user_data *data, void * restrict ds
 
 }
 
-#define GEN75_3DSTATE_POLY_STIPPLE_PATTERN_length 0x00000021
 #define GEN75_3DSTATE_POLY_STIPPLE_PATTERN_length_bias 0x00000002
 #define GEN75_3DSTATE_POLY_STIPPLE_PATTERN_header\
    .CommandType          =  3,                  \
@@ -2790,18 +2896,20 @@ GEN75_3DSTATE_POLY_STIPPLE_OFFSET_pack(__gen_user_data *data, void * restrict ds
    ._3DCommandSubOpcode  =  7,                  \
    .DwordLength          = 31
 
+#define GEN75_3DSTATE_POLY_STIPPLE_PATTERN_length 0x00000021
+
 struct GEN75_3DSTATE_POLY_STIPPLE_PATTERN {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     PatternRow;
+   uint32_t                                     PatternRow[32];
 };
 
 static inline void
 GEN75_3DSTATE_POLY_STIPPLE_PATTERN_pack(__gen_user_data *data, void * restrict dst,
-                                      const struct GEN75_3DSTATE_POLY_STIPPLE_PATTERN * restrict values)
+                                        const struct GEN75_3DSTATE_POLY_STIPPLE_PATTERN * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2813,13 +2921,14 @@ GEN75_3DSTATE_POLY_STIPPLE_PATTERN_pack(__gen_user_data *data, void * restrict d
       __gen_field(values->DwordLength, 0, 7) |
       0;
 
-   dw[1] =
-      __gen_field(values->PatternRow, 0, 31) |
-      0;
+   for (uint32_t i = 0, j = 1; i < 32; i += 1, j++) {
+      dw[j] =
+         __gen_field(values->PatternRow[i + 0], 0, 31) |
+         0;
+   }
 
 }
 
-#define GEN75_3DSTATE_PS_length 0x00000008
 #define GEN75_3DSTATE_PS_length_bias 0x00000002
 #define GEN75_3DSTATE_PS_header                 \
    .CommandType          =  3,                  \
@@ -2828,6 +2937,8 @@ GEN75_3DSTATE_POLY_STIPPLE_PATTERN_pack(__gen_user_data *data, void * restrict d
    ._3DCommandSubOpcode  = 32,                  \
    .DwordLength          =  6
 
+#define GEN75_3DSTATE_PS_length 0x00000008
+
 struct GEN75_3DSTATE_PS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2857,27 +2968,27 @@ struct GEN75_3DSTATE_PS {
 #define     RD                                                 2
 #define     RTZ                                                3
    uint32_t                                     RoundingMode;
-   uint32_t                                     IllegalOpcodeExceptionEnable;
-   uint32_t                                     MaskStackExceptionEnable;
-   uint32_t                                     SoftwareExceptionEnable;
+   bool                                         IllegalOpcodeExceptionEnable;
+   bool                                         MaskStackExceptionEnable;
+   bool                                         SoftwareExceptionEnable;
    uint32_t                                     ScratchSpaceBasePointer;
    uint32_t                                     PerThreadScratchSpace;
    uint32_t                                     MaximumNumberofThreads;
    uint32_t                                     SampleMask;
-   uint32_t                                     PushConstantEnable;
-   uint32_t                                     AttributeEnable;
-   uint32_t                                     oMaskPresenttoRenderTarget;
-   uint32_t                                     RenderTargetFastClearEnable;
-   uint32_t                                     DualSourceBlendEnable;
-   uint32_t                                     RenderTargetResolveEnable;
-   uint32_t                                     PSAccessesUAV;
+   bool                                         PushConstantEnable;
+   bool                                         AttributeEnable;
+   bool                                         oMaskPresenttoRenderTarget;
+   bool                                         RenderTargetFastClearEnable;
+   bool                                         DualSourceBlendEnable;
+   bool                                         RenderTargetResolveEnable;
+   bool                                         PSAccessesUAV;
 #define     POSOFFSET_NONE                                     0
 #define     POSOFFSET_CENTROID                                 2
 #define     POSOFFSET_SAMPLE                                   3
    uint32_t                                     PositionXYOffsetSelect;
-   uint32_t                                     _32PixelDispatchEnable;
-   uint32_t                                     _16PixelDispatchEnable;
-   uint32_t                                     _8PixelDispatchEnable;
+   bool                                         _32PixelDispatchEnable;
+   bool                                         _16PixelDispatchEnable;
+   bool                                         _8PixelDispatchEnable;
    uint32_t                                     DispatchGRFStartRegisterforConstantSetupData0;
    uint32_t                                     DispatchGRFStartRegisterforConstantSetupData1;
    uint32_t                                     DispatchGRFStartRegisterforConstantSetupData2;
@@ -2887,7 +2998,7 @@ struct GEN75_3DSTATE_PS {
 
 static inline void
 GEN75_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_3DSTATE_PS * restrict values)
+                      const struct GEN75_3DSTATE_PS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2954,7 +3065,6 @@ GEN75_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS_length 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS_length_bias 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS_header\
    .CommandType          =  3,                  \
@@ -2963,6 +3073,8 @@ GEN75_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 20,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS_length 0x00000002
+
 struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -2975,7 +3087,7 @@ struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS {
 
 static inline void
 GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS_pack(__gen_user_data *data, void * restrict dst,
-                                        const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS * restrict values)
+                                          const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -2994,7 +3106,6 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS_pack(__gen_user_data *data, void * restrict
 
 }
 
-#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS_length 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS_length_bias 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS_header\
    .CommandType          =  3,                  \
@@ -3003,6 +3114,8 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_DS_pack(__gen_user_data *data, void * restrict
    ._3DCommandSubOpcode  = 21,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS_length 0x00000002
+
 struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3015,7 +3128,7 @@ struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS {
 
 static inline void
 GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS_pack(__gen_user_data *data, void * restrict dst,
-                                        const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS * restrict values)
+                                          const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3034,7 +3147,6 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS_pack(__gen_user_data *data, void * restrict
 
 }
 
-#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS_length 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS_length_bias 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS_header\
    .CommandType          =  3,                  \
@@ -3043,6 +3155,8 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_GS_pack(__gen_user_data *data, void * restrict
    ._3DCommandSubOpcode  = 19,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS_length 0x00000002
+
 struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3055,7 +3169,7 @@ struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS {
 
 static inline void
 GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS_pack(__gen_user_data *data, void * restrict dst,
-                                        const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS * restrict values)
+                                          const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3074,7 +3188,6 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS_pack(__gen_user_data *data, void * restrict
 
 }
 
-#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS_length 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS_length_bias 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS_header\
    .CommandType          =  3,                  \
@@ -3083,6 +3196,8 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_HS_pack(__gen_user_data *data, void * restrict
    ._3DCommandSubOpcode  = 22,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS_length 0x00000002
+
 struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3095,7 +3210,7 @@ struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS {
 
 static inline void
 GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS_pack(__gen_user_data *data, void * restrict dst,
-                                        const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS * restrict values)
+                                          const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3114,7 +3229,6 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS_pack(__gen_user_data *data, void * restrict
 
 }
 
-#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS_length 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS_length_bias 0x00000002
 #define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS_header\
    .CommandType          =  3,                  \
@@ -3123,6 +3237,8 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_PS_pack(__gen_user_data *data, void * restrict
    ._3DCommandSubOpcode  = 18,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS_length 0x00000002
+
 struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3135,7 +3251,7 @@ struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS {
 
 static inline void
 GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS_pack(__gen_user_data *data, void * restrict dst,
-                                        const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS * restrict values)
+                                          const struct GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3154,7 +3270,6 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS_pack(__gen_user_data *data, void * restrict
 
 }
 
-#define GEN75_3DSTATE_RAST_MULTISAMPLE_length 0x00000006
 #define GEN75_3DSTATE_RAST_MULTISAMPLE_length_bias 0x00000002
 #define GEN75_3DSTATE_RAST_MULTISAMPLE_header   \
    .CommandType          =  3,                  \
@@ -3163,6 +3278,8 @@ GEN75_3DSTATE_PUSH_CONSTANT_ALLOC_VS_pack(__gen_user_data *data, void * restrict
    ._3DCommandSubOpcode  = 14,                  \
    .DwordLength          =  4
 
+#define GEN75_3DSTATE_RAST_MULTISAMPLE_length 0x00000006
+
 struct GEN75_3DSTATE_RAST_MULTISAMPLE {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3211,7 +3328,7 @@ struct GEN75_3DSTATE_RAST_MULTISAMPLE {
 
 static inline void
 GEN75_3DSTATE_RAST_MULTISAMPLE_pack(__gen_user_data *data, void * restrict dst,
-                                  const struct GEN75_3DSTATE_RAST_MULTISAMPLE * restrict values)
+                                    const struct GEN75_3DSTATE_RAST_MULTISAMPLE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3280,6 +3397,10 @@ GEN75_3DSTATE_RAST_MULTISAMPLE_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandOpcode     =  1,                  \
    ._3DCommandSubOpcode  =  2
 
+#define GEN75_3DSTATE_SAMPLER_PALETTE_LOAD0_length 0x00000000
+
+#define GEN75_PALETTE_ENTRY_length 0x00000001
+
 struct GEN75_PALETTE_ENTRY {
    uint32_t                                     Alpha;
    uint32_t                                     Red;
@@ -3289,7 +3410,7 @@ struct GEN75_PALETTE_ENTRY {
 
 static inline void
 GEN75_PALETTE_ENTRY_pack(__gen_user_data *data, void * restrict dst,
-                       const struct GEN75_PALETTE_ENTRY * restrict values)
+                         const struct GEN75_PALETTE_ENTRY * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3313,7 +3434,7 @@ struct GEN75_3DSTATE_SAMPLER_PALETTE_LOAD0 {
 
 static inline void
 GEN75_3DSTATE_SAMPLER_PALETTE_LOAD0_pack(__gen_user_data *data, void * restrict dst,
-                                       const struct GEN75_3DSTATE_SAMPLER_PALETTE_LOAD0 * restrict values)
+                                         const struct GEN75_3DSTATE_SAMPLER_PALETTE_LOAD0 * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3335,6 +3456,8 @@ GEN75_3DSTATE_SAMPLER_PALETTE_LOAD0_pack(__gen_user_data *data, void * restrict
    ._3DCommandOpcode     =  1,                  \
    ._3DCommandSubOpcode  = 12
 
+#define GEN75_3DSTATE_SAMPLER_PALETTE_LOAD1_length 0x00000000
+
 struct GEN75_3DSTATE_SAMPLER_PALETTE_LOAD1 {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3346,7 +3469,7 @@ struct GEN75_3DSTATE_SAMPLER_PALETTE_LOAD1 {
 
 static inline void
 GEN75_3DSTATE_SAMPLER_PALETTE_LOAD1_pack(__gen_user_data *data, void * restrict dst,
-                                       const struct GEN75_3DSTATE_SAMPLER_PALETTE_LOAD1 * restrict values)
+                                         const struct GEN75_3DSTATE_SAMPLER_PALETTE_LOAD1 * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3361,7 +3484,6 @@ GEN75_3DSTATE_SAMPLER_PALETTE_LOAD1_pack(__gen_user_data *data, void * restrict
    /* variable length fields follow */
 }
 
-#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS_length 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS_length_bias 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS_header\
    .CommandType          =  3,                  \
@@ -3370,6 +3492,8 @@ GEN75_3DSTATE_SAMPLER_PALETTE_LOAD1_pack(__gen_user_data *data, void * restrict
    ._3DCommandSubOpcode  = 45,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS_length 0x00000002
+
 struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3381,7 +3505,7 @@ struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS {
 
 static inline void
 GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS * restrict values)
+                                             const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3399,7 +3523,6 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS_length 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS_length_bias 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS_header\
    .CommandType          =  3,                  \
@@ -3408,6 +3531,8 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_DS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 46,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS_length 0x00000002
+
 struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3419,7 +3544,7 @@ struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS {
 
 static inline void
 GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS * restrict values)
+                                             const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3437,7 +3562,6 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS_length 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS_length_bias 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS_header\
    .CommandType          =  3,                  \
@@ -3446,6 +3570,8 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_GS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 44,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS_length 0x00000002
+
 struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3457,7 +3583,7 @@ struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS {
 
 static inline void
 GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS * restrict values)
+                                             const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3475,7 +3601,6 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS_length 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS_length_bias 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS_header\
    .CommandType          =  3,                  \
@@ -3484,6 +3609,8 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_HS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 47,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS_length 0x00000002
+
 struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3495,7 +3622,7 @@ struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS {
 
 static inline void
 GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS * restrict values)
+                                             const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3513,7 +3640,6 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS_length 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS_length_bias 0x00000002
 #define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS_header\
    .CommandType          =  3,                  \
@@ -3522,6 +3648,8 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_PS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 43,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS_length 0x00000002
+
 struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3533,7 +3661,7 @@ struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS {
 
 static inline void
 GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS_pack(__gen_user_data *data, void * restrict dst,
-                                           const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS * restrict values)
+                                             const struct GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3551,7 +3679,6 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS_pack(__gen_user_data *data, void * restr
 
 }
 
-#define GEN75_3DSTATE_SAMPLE_MASK_length 0x00000002
 #define GEN75_3DSTATE_SAMPLE_MASK_length_bias 0x00000002
 #define GEN75_3DSTATE_SAMPLE_MASK_header        \
    .CommandType          =  3,                  \
@@ -3560,6 +3687,8 @@ GEN75_3DSTATE_SAMPLER_STATE_POINTERS_VS_pack(__gen_user_data *data, void * restr
    ._3DCommandSubOpcode  = 24,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_SAMPLE_MASK_length 0x00000002
+
 struct GEN75_3DSTATE_SAMPLE_MASK {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3571,7 +3700,7 @@ struct GEN75_3DSTATE_SAMPLE_MASK {
 
 static inline void
 GEN75_3DSTATE_SAMPLE_MASK_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_3DSTATE_SAMPLE_MASK * restrict values)
+                               const struct GEN75_3DSTATE_SAMPLE_MASK * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3589,7 +3718,6 @@ GEN75_3DSTATE_SAMPLE_MASK_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_SBE_length 0x0000000e
 #define GEN75_3DSTATE_SBE_length_bias 0x00000002
 #define GEN75_3DSTATE_SBE_header                \
    .CommandType          =  3,                  \
@@ -3598,6 +3726,8 @@ GEN75_3DSTATE_SAMPLE_MASK_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 31,                  \
    .DwordLength          = 12
 
+#define GEN75_3DSTATE_SBE_length 0x0000000e
+
 struct GEN75_3DSTATE_SBE {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3606,16 +3736,16 @@ struct GEN75_3DSTATE_SBE {
    uint32_t                                     DwordLength;
    uint32_t                                     AttributeSwizzleControlMode;
    uint32_t                                     NumberofSFOutputAttributes;
-   uint32_t                                     AttributeSwizzleEnable;
+   bool                                         AttributeSwizzleEnable;
 #define     UPPERLEFT                                          0
 #define     LOWERLEFT                                          1
    uint32_t                                     PointSpriteTextureCoordinateOrigin;
    uint32_t                                     VertexURBEntryReadLength;
    uint32_t                                     VertexURBEntryReadOffset;
-   uint32_t                                     Attribute2n1ComponentOverrideW;
-   uint32_t                                     Attribute2n1ComponentOverrideZ;
-   uint32_t                                     Attribute2n1ComponentOverrideY;
-   uint32_t                                     Attribute2n1ComponentOverrideX;
+   bool                                         Attribute2n1ComponentOverrideW;
+   bool                                         Attribute2n1ComponentOverrideZ;
+   bool                                         Attribute2n1ComponentOverrideY;
+   bool                                         Attribute2n1ComponentOverrideX;
 #define     CONST_0000                                         0
 #define     CONST_0001_FLOAT                                   1
 #define     CONST_1111_FLOAT                                   2
@@ -3627,10 +3757,10 @@ struct GEN75_3DSTATE_SBE {
 #define     INPUTATTR_FACING_W                                 3
    uint32_t                                     Attribute2n1SwizzleSelect;
    uint32_t                                     Attribute2n1SourceAttribute;
-   uint32_t                                     Attribute2nComponentOverrideW;
-   uint32_t                                     Attribute2nComponentOverrideZ;
-   uint32_t                                     Attribute2nComponentOverrideY;
-   uint32_t                                     Attribute2nComponentOverrideX;
+   bool                                         Attribute2nComponentOverrideW;
+   bool                                         Attribute2nComponentOverrideZ;
+   bool                                         Attribute2nComponentOverrideY;
+   bool                                         Attribute2nComponentOverrideX;
 #define     CONST_0000                                         0
 #define     CONST_0001_FLOAT                                   1
 #define     CONST_1111_FLOAT                                   2
@@ -3664,7 +3794,7 @@ struct GEN75_3DSTATE_SBE {
 
 static inline void
 GEN75_3DSTATE_SBE_pack(__gen_user_data *data, void * restrict dst,
-                     const struct GEN75_3DSTATE_SBE * restrict values)
+                       const struct GEN75_3DSTATE_SBE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3734,7 +3864,6 @@ GEN75_3DSTATE_SBE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_SCISSOR_STATE_POINTERS_length 0x00000002
 #define GEN75_3DSTATE_SCISSOR_STATE_POINTERS_length_bias 0x00000002
 #define GEN75_3DSTATE_SCISSOR_STATE_POINTERS_header\
    .CommandType          =  3,                  \
@@ -3743,6 +3872,8 @@ GEN75_3DSTATE_SBE_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 15,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_SCISSOR_STATE_POINTERS_length 0x00000002
+
 struct GEN75_3DSTATE_SCISSOR_STATE_POINTERS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3754,7 +3885,7 @@ struct GEN75_3DSTATE_SCISSOR_STATE_POINTERS {
 
 static inline void
 GEN75_3DSTATE_SCISSOR_STATE_POINTERS_pack(__gen_user_data *data, void * restrict dst,
-                                        const struct GEN75_3DSTATE_SCISSOR_STATE_POINTERS * restrict values)
+                                          const struct GEN75_3DSTATE_SCISSOR_STATE_POINTERS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3772,7 +3903,6 @@ GEN75_3DSTATE_SCISSOR_STATE_POINTERS_pack(__gen_user_data *data, void * restrict
 
 }
 
-#define GEN75_3DSTATE_SF_length 0x00000007
 #define GEN75_3DSTATE_SF_length_bias 0x00000002
 #define GEN75_3DSTATE_SF_header                 \
    .CommandType          =  3,                  \
@@ -3781,6 +3911,8 @@ GEN75_3DSTATE_SCISSOR_STATE_POINTERS_pack(__gen_user_data *data, void * restrict
    ._3DCommandSubOpcode  = 19,                  \
    .DwordLength          =  5
 
+#define GEN75_3DSTATE_SF_length 0x00000007
+
 struct GEN75_3DSTATE_SF {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3793,11 +3925,11 @@ struct GEN75_3DSTATE_SF {
 #define     D24_UNORM_X8_UINT                                  3
 #define     D16_UNORM                                          5
    uint32_t                                     DepthBufferSurfaceFormat;
-   uint32_t                                     LegacyGlobalDepthBiasEnable;
-   uint32_t                                     StatisticsEnable;
-   uint32_t                                     GlobalDepthOffsetEnableSolid;
-   uint32_t                                     GlobalDepthOffsetEnableWireframe;
-   uint32_t                                     GlobalDepthOffsetEnablePoint;
+   bool                                         LegacyGlobalDepthBiasEnable;
+   bool                                         StatisticsEnable;
+   bool                                         GlobalDepthOffsetEnableSolid;
+   bool                                         GlobalDepthOffsetEnableWireframe;
+   bool                                         GlobalDepthOffsetEnablePoint;
 #define     RASTER_SOLID                                       0
 #define     RASTER_WIREFRAME                                   1
 #define     RASTER_POINT                                       2
@@ -3806,9 +3938,9 @@ struct GEN75_3DSTATE_SF {
 #define     RASTER_WIREFRAME                                   1
 #define     RASTER_POINT                                       2
    uint32_t                                     BackFaceFillMode;
-   uint32_t                                     ViewTransformEnable;
+   bool                                         ViewTransformEnable;
    uint32_t                                     FrontWinding;
-   uint32_t                                     AntiAliasingEnable;
+   bool                                         AntiAliasingEnable;
 #define     CULLMODE_BOTH                                      0
 #define     CULLMODE_NONE                                      1
 #define     CULLMODE_FRONT                                     2
@@ -3816,11 +3948,11 @@ struct GEN75_3DSTATE_SF {
    uint32_t                                     CullMode;
    float                                        LineWidth;
    uint32_t                                     LineEndCapAntialiasingRegionWidth;
-   uint32_t                                     LineStippleEnable;
-   uint32_t                                     ScissorRectangleEnable;
-   uint32_t                                     RTIndependentRasterizationEnable;
+   bool                                         LineStippleEnable;
+   bool                                         ScissorRectangleEnable;
+   bool                                         RTIndependentRasterizationEnable;
    uint32_t                                     MultisampleRasterizationMode;
-   uint32_t                                     LastPixelEnable;
+   bool                                         LastPixelEnable;
 #define     Vertex0                                            0
 #define     Vertex1                                            1
 #define     Vertex2                                            2
@@ -3835,14 +3967,14 @@ struct GEN75_3DSTATE_SF {
    uint32_t                                     VertexSubPixelPrecisionSelect;
    uint32_t                                     UsePointWidthState;
    float                                        PointWidth;
-   uint32_t                                     GlobalDepthOffsetConstant;
-   uint32_t                                     GlobalDepthOffsetScale;
-   uint32_t                                     GlobalDepthOffsetClamp;
+   float                                        GlobalDepthOffsetConstant;
+   float                                        GlobalDepthOffsetScale;
+   float                                        GlobalDepthOffsetClamp;
 };
 
 static inline void
 GEN75_3DSTATE_SF_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_3DSTATE_SF * restrict values)
+                      const struct GEN75_3DSTATE_SF * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3890,20 +4022,19 @@ GEN75_3DSTATE_SF_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[4] =
-      __gen_field(values->GlobalDepthOffsetConstant, 0, 31) |
+      __gen_float(values->GlobalDepthOffsetConstant) |
       0;
 
    dw[5] =
-      __gen_field(values->GlobalDepthOffsetScale, 0, 31) |
+      __gen_float(values->GlobalDepthOffsetScale) |
       0;
 
    dw[6] =
-      __gen_field(values->GlobalDepthOffsetClamp, 0, 31) |
+      __gen_float(values->GlobalDepthOffsetClamp) |
       0;
 
 }
 
-#define GEN75_3DSTATE_SO_BUFFER_length 0x00000004
 #define GEN75_3DSTATE_SO_BUFFER_length_bias 0x00000002
 #define GEN75_3DSTATE_SO_BUFFER_header          \
    .CommandType          =  3,                  \
@@ -3912,6 +4043,8 @@ GEN75_3DSTATE_SF_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 24,                  \
    .DwordLength          =  2
 
+#define GEN75_3DSTATE_SO_BUFFER_length 0x00000004
+
 struct GEN75_3DSTATE_SO_BUFFER {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -3927,7 +4060,7 @@ struct GEN75_3DSTATE_SO_BUFFER {
 
 static inline void
 GEN75_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
-                           const struct GEN75_3DSTATE_SO_BUFFER * restrict values)
+                             const struct GEN75_3DSTATE_SO_BUFFER * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3968,6 +4101,12 @@ GEN75_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandOpcode     =  1,                  \
    ._3DCommandSubOpcode  = 23
 
+#define GEN75_3DSTATE_SO_DECL_LIST_length 0x00000000
+
+#define GEN75_SO_DECL_ENTRY_length 0x00000002
+
+#define GEN75_SO_DECL_length 0x00000001
+
 struct GEN75_SO_DECL {
    uint32_t                                     OutputBufferSlot;
    uint32_t                                     HoleFlag;
@@ -3977,7 +4116,7 @@ struct GEN75_SO_DECL {
 
 static inline void
 GEN75_SO_DECL_pack(__gen_user_data *data, void * restrict dst,
-                 const struct GEN75_SO_DECL * restrict values)
+                   const struct GEN75_SO_DECL * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -3999,7 +4138,7 @@ struct GEN75_SO_DECL_ENTRY {
 
 static inline void
 GEN75_SO_DECL_ENTRY_pack(__gen_user_data *data, void * restrict dst,
-                       const struct GEN75_SO_DECL_ENTRY * restrict values)
+                         const struct GEN75_SO_DECL_ENTRY * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4042,7 +4181,7 @@ struct GEN75_3DSTATE_SO_DECL_LIST {
 
 static inline void
 GEN75_3DSTATE_SO_DECL_LIST_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_3DSTATE_SO_DECL_LIST * restrict values)
+                                const struct GEN75_3DSTATE_SO_DECL_LIST * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4071,7 +4210,6 @@ GEN75_3DSTATE_SO_DECL_LIST_pack(__gen_user_data *data, void * restrict dst,
    /* variable length fields follow */
 }
 
-#define GEN75_3DSTATE_STENCIL_BUFFER_length 0x00000003
 #define GEN75_3DSTATE_STENCIL_BUFFER_length_bias 0x00000002
 #define GEN75_3DSTATE_STENCIL_BUFFER_header     \
    .CommandType          =  3,                  \
@@ -4080,6 +4218,8 @@ GEN75_3DSTATE_SO_DECL_LIST_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  6,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_STENCIL_BUFFER_length 0x00000003
+
 struct GEN75_3DSTATE_STENCIL_BUFFER {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -4094,7 +4234,7 @@ struct GEN75_3DSTATE_STENCIL_BUFFER {
 
 static inline void
 GEN75_3DSTATE_STENCIL_BUFFER_pack(__gen_user_data *data, void * restrict dst,
-                                const struct GEN75_3DSTATE_STENCIL_BUFFER * restrict values)
+                                  const struct GEN75_3DSTATE_STENCIL_BUFFER * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4122,7 +4262,6 @@ GEN75_3DSTATE_STENCIL_BUFFER_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_STREAMOUT_length 0x00000003
 #define GEN75_3DSTATE_STREAMOUT_length_bias 0x00000002
 #define GEN75_3DSTATE_STREAMOUT_header          \
    .CommandType          =  3,                  \
@@ -4131,6 +4270,8 @@ GEN75_3DSTATE_STENCIL_BUFFER_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 30,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_STREAMOUT_length 0x00000003
+
 struct GEN75_3DSTATE_STREAMOUT {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -4143,7 +4284,7 @@ struct GEN75_3DSTATE_STREAMOUT {
 #define     LEADING                                            0
 #define     TRAILING                                           1
    uint32_t                                     ReorderMode;
-   uint32_t                                     SOStatisticsEnable;
+   bool                                         SOStatisticsEnable;
    uint32_t                                     SOBufferEnable3;
    uint32_t                                     SOBufferEnable2;
    uint32_t                                     SOBufferEnable1;
@@ -4160,7 +4301,7 @@ struct GEN75_3DSTATE_STREAMOUT {
 
 static inline void
 GEN75_3DSTATE_STREAMOUT_pack(__gen_user_data *data, void * restrict dst,
-                           const struct GEN75_3DSTATE_STREAMOUT * restrict values)
+                             const struct GEN75_3DSTATE_STREAMOUT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4197,7 +4338,6 @@ GEN75_3DSTATE_STREAMOUT_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_TE_length 0x00000004
 #define GEN75_3DSTATE_TE_length_bias 0x00000002
 #define GEN75_3DSTATE_TE_header                 \
    .CommandType          =  3,                  \
@@ -4206,6 +4346,8 @@ GEN75_3DSTATE_STREAMOUT_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 28,                  \
    .DwordLength          =  2
 
+#define GEN75_3DSTATE_TE_length 0x00000004
+
 struct GEN75_3DSTATE_TE {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -4217,9 +4359,9 @@ struct GEN75_3DSTATE_TE {
 #define     EVEN_FRACTIONAL                                    2
    uint32_t                                     Partitioning;
 #define     POINT                                              0
-#define     LINE                                               1
-#define     TRI_CW                                             2
-#define     TRI_CCW                                            3
+#define     OUTPUT_LINE                                        1
+#define     OUTPUT_TRI_CW                                      2
+#define     OUTPUT_TRI_CCW                                     3
    uint32_t                                     OutputTopology;
 #define     QUAD                                               0
 #define     TRI                                                1
@@ -4228,14 +4370,14 @@ struct GEN75_3DSTATE_TE {
 #define     HW_TESS                                            0
 #define     SW_TESS                                            1
    uint32_t                                     TEMode;
-   uint32_t                                     TEEnable;
+   bool                                         TEEnable;
    float                                        MaximumTessellationFactorOdd;
    float                                        MaximumTessellationFactorNotOdd;
 };
 
 static inline void
 GEN75_3DSTATE_TE_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_3DSTATE_TE * restrict values)
+                      const struct GEN75_3DSTATE_TE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4265,7 +4407,6 @@ GEN75_3DSTATE_TE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_URB_DS_length 0x00000002
 #define GEN75_3DSTATE_URB_DS_length_bias 0x00000002
 #define GEN75_3DSTATE_URB_DS_header             \
    .CommandType          =  3,                  \
@@ -4274,6 +4415,8 @@ GEN75_3DSTATE_TE_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 50,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_URB_DS_length 0x00000002
+
 struct GEN75_3DSTATE_URB_DS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -4287,7 +4430,7 @@ struct GEN75_3DSTATE_URB_DS {
 
 static inline void
 GEN75_3DSTATE_URB_DS_pack(__gen_user_data *data, void * restrict dst,
-                        const struct GEN75_3DSTATE_URB_DS * restrict values)
+                          const struct GEN75_3DSTATE_URB_DS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4307,7 +4450,6 @@ GEN75_3DSTATE_URB_DS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_URB_GS_length 0x00000002
 #define GEN75_3DSTATE_URB_GS_length_bias 0x00000002
 #define GEN75_3DSTATE_URB_GS_header             \
    .CommandType          =  3,                  \
@@ -4316,6 +4458,8 @@ GEN75_3DSTATE_URB_DS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 51,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_URB_GS_length 0x00000002
+
 struct GEN75_3DSTATE_URB_GS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -4329,7 +4473,7 @@ struct GEN75_3DSTATE_URB_GS {
 
 static inline void
 GEN75_3DSTATE_URB_GS_pack(__gen_user_data *data, void * restrict dst,
-                        const struct GEN75_3DSTATE_URB_GS * restrict values)
+                          const struct GEN75_3DSTATE_URB_GS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4349,7 +4493,6 @@ GEN75_3DSTATE_URB_GS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_URB_HS_length 0x00000002
 #define GEN75_3DSTATE_URB_HS_length_bias 0x00000002
 #define GEN75_3DSTATE_URB_HS_header             \
    .CommandType          =  3,                  \
@@ -4358,6 +4501,8 @@ GEN75_3DSTATE_URB_GS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 49,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_URB_HS_length 0x00000002
+
 struct GEN75_3DSTATE_URB_HS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -4371,7 +4516,7 @@ struct GEN75_3DSTATE_URB_HS {
 
 static inline void
 GEN75_3DSTATE_URB_HS_pack(__gen_user_data *data, void * restrict dst,
-                        const struct GEN75_3DSTATE_URB_HS * restrict values)
+                          const struct GEN75_3DSTATE_URB_HS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4398,6 +4543,10 @@ GEN75_3DSTATE_URB_HS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  =  8
 
+#define GEN75_3DSTATE_VERTEX_BUFFERS_length 0x00000000
+
+#define GEN75_VERTEX_BUFFER_STATE_length 0x00000004
+
 struct GEN75_VERTEX_BUFFER_STATE {
    uint32_t                                     VertexBufferIndex;
 #define     VERTEXDATA                                         0
@@ -4405,7 +4554,7 @@ struct GEN75_VERTEX_BUFFER_STATE {
    uint32_t                                     BufferAccessType;
    struct GEN75_MEMORY_OBJECT_CONTROL_STATE     VertexBufferMemoryObjectControlState;
    uint32_t                                     AddressModifyEnable;
-   uint32_t                                     NullVertexBuffer;
+   bool                                         NullVertexBuffer;
    uint32_t                                     VertexFetchInvalidate;
    uint32_t                                     BufferPitch;
    __gen_address_type                           BufferStartingAddress;
@@ -4415,7 +4564,7 @@ struct GEN75_VERTEX_BUFFER_STATE {
 
 static inline void
 GEN75_VERTEX_BUFFER_STATE_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_VERTEX_BUFFER_STATE * restrict values)
+                               const struct GEN75_VERTEX_BUFFER_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4460,7 +4609,7 @@ struct GEN75_3DSTATE_VERTEX_BUFFERS {
 
 static inline void
 GEN75_3DSTATE_VERTEX_BUFFERS_pack(__gen_user_data *data, void * restrict dst,
-                                const struct GEN75_3DSTATE_VERTEX_BUFFERS * restrict values)
+                                  const struct GEN75_3DSTATE_VERTEX_BUFFERS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4482,11 +4631,15 @@ GEN75_3DSTATE_VERTEX_BUFFERS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  =  9
 
+#define GEN75_3DSTATE_VERTEX_ELEMENTS_length 0x00000000
+
+#define GEN75_VERTEX_ELEMENT_STATE_length 0x00000002
+
 struct GEN75_VERTEX_ELEMENT_STATE {
    uint32_t                                     VertexBufferIndex;
-   uint32_t                                     Valid;
+   bool                                         Valid;
    uint32_t                                     SourceElementFormat;
-   uint32_t                                     EdgeFlagEnable;
+   bool                                         EdgeFlagEnable;
    uint32_t                                     SourceElementOffset;
    uint32_t                                     Component0Control;
    uint32_t                                     Component1Control;
@@ -4496,7 +4649,7 @@ struct GEN75_VERTEX_ELEMENT_STATE {
 
 static inline void
 GEN75_VERTEX_ELEMENT_STATE_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_VERTEX_ELEMENT_STATE * restrict values)
+                                const struct GEN75_VERTEX_ELEMENT_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4528,7 +4681,7 @@ struct GEN75_3DSTATE_VERTEX_ELEMENTS {
 
 static inline void
 GEN75_3DSTATE_VERTEX_ELEMENTS_pack(__gen_user_data *data, void * restrict dst,
-                                 const struct GEN75_3DSTATE_VERTEX_ELEMENTS * restrict values)
+                                   const struct GEN75_3DSTATE_VERTEX_ELEMENTS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4543,7 +4696,6 @@ GEN75_3DSTATE_VERTEX_ELEMENTS_pack(__gen_user_data *data, void * restrict dst,
    /* variable length fields follow */
 }
 
-#define GEN75_3DSTATE_VF_length 0x00000002
 #define GEN75_3DSTATE_VF_length_bias 0x00000002
 #define GEN75_3DSTATE_VF_header                 \
    .CommandType          =  3,                  \
@@ -4552,19 +4704,21 @@ GEN75_3DSTATE_VERTEX_ELEMENTS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 12,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_VF_length 0x00000002
+
 struct GEN75_3DSTATE_VF {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
-   uint32_t                                     IndexedDrawCutIndexEnable;
+   bool                                         IndexedDrawCutIndexEnable;
    uint32_t                                     DwordLength;
    uint32_t                                     CutIndex;
 };
 
 static inline void
 GEN75_3DSTATE_VF_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_3DSTATE_VF * restrict values)
+                      const struct GEN75_3DSTATE_VF * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4583,7 +4737,6 @@ GEN75_3DSTATE_VF_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_VF_STATISTICS_length 0x00000001
 #define GEN75_3DSTATE_VF_STATISTICS_length_bias 0x00000001
 #define GEN75_3DSTATE_VF_STATISTICS_header      \
    .CommandType          =  3,                  \
@@ -4591,17 +4744,19 @@ GEN75_3DSTATE_VF_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandOpcode     =  0,                  \
    ._3DCommandSubOpcode  = 11
 
+#define GEN75_3DSTATE_VF_STATISTICS_length 0x00000001
+
 struct GEN75_3DSTATE_VF_STATISTICS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
-   uint32_t                                     StatisticsEnable;
+   bool                                         StatisticsEnable;
 };
 
 static inline void
 GEN75_3DSTATE_VF_STATISTICS_pack(__gen_user_data *data, void * restrict dst,
-                               const struct GEN75_3DSTATE_VF_STATISTICS * restrict values)
+                                 const struct GEN75_3DSTATE_VF_STATISTICS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4615,7 +4770,6 @@ GEN75_3DSTATE_VF_STATISTICS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC_length 0x00000002
 #define GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC_length_bias 0x00000002
 #define GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC_header\
    .CommandType          =  3,                  \
@@ -4624,6 +4778,8 @@ GEN75_3DSTATE_VF_STATISTICS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 35,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC_length 0x00000002
+
 struct GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -4635,7 +4791,7 @@ struct GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC {
 
 static inline void
 GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC_pack(__gen_user_data *data, void * restrict dst,
-                                            const struct GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC * restrict values)
+                                              const struct GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4653,7 +4809,6 @@ GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC_pack(__gen_user_data *data, void * rest
 
 }
 
-#define GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP_length 0x00000002
 #define GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP_length_bias 0x00000002
 #define GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP_header\
    .CommandType          =  3,                  \
@@ -4662,6 +4817,8 @@ GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_CC_pack(__gen_user_data *data, void * rest
    ._3DCommandSubOpcode  = 33,                  \
    .DwordLength          =  0
 
+#define GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP_length 0x00000002
+
 struct GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -4673,7 +4830,7 @@ struct GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP {
 
 static inline void
 GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP_pack(__gen_user_data *data, void * restrict dst,
-                                                 const struct GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP * restrict values)
+                                                   const struct GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4691,7 +4848,6 @@ GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP_pack(__gen_user_data *data, void *
 
 }
 
-#define GEN75_3DSTATE_VS_length 0x00000006
 #define GEN75_3DSTATE_VS_length_bias 0x00000002
 #define GEN75_3DSTATE_VS_header                 \
    .CommandType          =  3,                  \
@@ -4700,6 +4856,8 @@ GEN75_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP_pack(__gen_user_data *data, void *
    ._3DCommandSubOpcode  = 16,                  \
    .DwordLength          =  4
 
+#define GEN75_3DSTATE_VS_length 0x00000006
+
 struct GEN75_3DSTATE_VS {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -4726,23 +4884,23 @@ struct GEN75_3DSTATE_VS {
 #define     IEEE754                                            0
 #define     Alternate                                          1
    uint32_t                                     FloatingPointMode;
-   uint32_t                                     IllegalOpcodeExceptionEnable;
-   uint32_t                                     VSaccessesUAV;
-   uint32_t                                     SoftwareExceptionEnable;
+   bool                                         IllegalOpcodeExceptionEnable;
+   bool                                         VSaccessesUAV;
+   bool                                         SoftwareExceptionEnable;
    uint32_t                                     ScratchSpaceBaseOffset;
    uint32_t                                     PerThreadScratchSpace;
    uint32_t                                     DispatchGRFStartRegisterforURBData;
    uint32_t                                     VertexURBEntryReadLength;
    uint32_t                                     VertexURBEntryReadOffset;
    uint32_t                                     MaximumNumberofThreads;
-   uint32_t                                     StatisticsEnable;
-   uint32_t                                     VertexCacheDisable;
-   uint32_t                                     VSFunctionEnable;
+   bool                                         StatisticsEnable;
+   bool                                         VertexCacheDisable;
+   bool                                         VSFunctionEnable;
 };
 
 static inline void
 GEN75_3DSTATE_VS_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_3DSTATE_VS * restrict values)
+                      const struct GEN75_3DSTATE_VS * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4790,7 +4948,6 @@ GEN75_3DSTATE_VS_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_WM_length 0x00000003
 #define GEN75_3DSTATE_WM_length_bias 0x00000002
 #define GEN75_3DSTATE_WM_header                 \
    .CommandType          =  3,                  \
@@ -4799,19 +4956,21 @@ GEN75_3DSTATE_VS_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  = 20,                  \
    .DwordLength          =  1
 
+#define GEN75_3DSTATE_WM_length 0x00000003
+
 struct GEN75_3DSTATE_WM {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     StatisticsEnable;
-   uint32_t                                     DepthBufferClear;
-   uint32_t                                     ThreadDispatchEnable;
-   uint32_t                                     DepthBufferResolveEnable;
-   uint32_t                                     HierarchicalDepthBufferResolveEnable;
-   uint32_t                                     LegacyDiamondLineRasterization;
-   uint32_t                                     PixelShaderKillPixel;
+   bool                                         StatisticsEnable;
+   bool                                         DepthBufferClear;
+   bool                                         ThreadDispatchEnable;
+   bool                                         DepthBufferResolveEnable;
+   bool                                         HierarchicalDepthBufferResolveEnable;
+   bool                                         LegacyDiamondLineRasterization;
+   bool                                         PixelShaderKillPixel;
 #define     PSCDEPTH_OFF                                       0
 #define     PSCDEPTH_ON                                        1
 #define     PSCDEPTH_ON_GE                                     2
@@ -4821,19 +4980,19 @@ struct GEN75_3DSTATE_WM {
 #define     EDSC_PSEXEC                                        1
 #define     EDSC_PREPS                                         2
    uint32_t                                     EarlyDepthStencilControl;
-   uint32_t                                     PixelShaderUsesSourceDepth;
-   uint32_t                                     PixelShaderUsesSourceW;
+   bool                                         PixelShaderUsesSourceDepth;
+   bool                                         PixelShaderUsesSourceW;
 #define     INTERP_PIXEL                                       0
 #define     INTERP_CENTROID                                    2
 #define     INTERP_SAMPLE                                      3
    uint32_t                                     PositionZWInterpolationMode;
    uint32_t                                     BarycentricInterpolationMode;
-   uint32_t                                     PixelShaderUsesInputCoverageMask;
+   bool                                         PixelShaderUsesInputCoverageMask;
    uint32_t                                     LineEndCapAntialiasingRegionWidth;
    uint32_t                                     LineAntialiasingRegionWidth;
-   uint32_t                                     RTIndependentRasterizationEnable;
-   uint32_t                                     PolygonStippleEnable;
-   uint32_t                                     LineStippleEnable;
+   bool                                         RTIndependentRasterizationEnable;
+   bool                                         PolygonStippleEnable;
+   bool                                         LineStippleEnable;
 #define     RASTRULE_UPPER_LEFT                                0
 #define     RASTRULE_UPPER_RIGHT                               1
    uint32_t                                     PointRasterizationRule;
@@ -4852,7 +5011,7 @@ struct GEN75_3DSTATE_WM {
 
 static inline void
 GEN75_3DSTATE_WM_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_3DSTATE_WM * restrict values)
+                      const struct GEN75_3DSTATE_WM * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4895,7 +5054,6 @@ GEN75_3DSTATE_WM_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_GPGPU_OBJECT_length 0x00000008
 #define GEN75_GPGPU_OBJECT_length_bias 0x00000002
 #define GEN75_GPGPU_OBJECT_header               \
    .CommandType          =  3,                  \
@@ -4904,12 +5062,14 @@ GEN75_3DSTATE_WM_pack(__gen_user_data *data, void * restrict dst,
    .SubOpcode            =  4,                  \
    .DwordLength          =  6
 
+#define GEN75_GPGPU_OBJECT_length 0x00000008
+
 struct GEN75_GPGPU_OBJECT {
    uint32_t                                     CommandType;
    uint32_t                                     Pipeline;
    uint32_t                                     MediaCommandOpcode;
    uint32_t                                     SubOpcode;
-   uint32_t                                     PredicateEnable;
+   bool                                         PredicateEnable;
    uint32_t                                     DwordLength;
    uint32_t                                     SharedLocalMemoryFixedOffset;
    uint32_t                                     InterfaceDescriptorOffset;
@@ -4932,7 +5092,7 @@ struct GEN75_GPGPU_OBJECT {
 
 static inline void
 GEN75_GPGPU_OBJECT_pack(__gen_user_data *data, void * restrict dst,
-                      const struct GEN75_GPGPU_OBJECT * restrict values)
+                        const struct GEN75_GPGPU_OBJECT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -4980,7 +5140,6 @@ GEN75_GPGPU_OBJECT_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_GPGPU_WALKER_length 0x0000000b
 #define GEN75_GPGPU_WALKER_length_bias 0x00000002
 #define GEN75_GPGPU_WALKER_header               \
    .CommandType          =  3,                  \
@@ -4989,13 +5148,15 @@ GEN75_GPGPU_OBJECT_pack(__gen_user_data *data, void * restrict dst,
    .SubOpcodeA           =  5,                  \
    .DwordLength          =  9
 
+#define GEN75_GPGPU_WALKER_length 0x0000000b
+
 struct GEN75_GPGPU_WALKER {
    uint32_t                                     CommandType;
    uint32_t                                     Pipeline;
    uint32_t                                     MediaCommandOpcode;
    uint32_t                                     SubOpcodeA;
-   uint32_t                                     IndirectParameterEnable;
-   uint32_t                                     PredicateEnable;
+   bool                                         IndirectParameterEnable;
+   bool                                         PredicateEnable;
    uint32_t                                     DwordLength;
    uint32_t                                     InterfaceDescriptorOffset;
 #define     SIMD8                                              0
@@ -5017,7 +5178,7 @@ struct GEN75_GPGPU_WALKER {
 
 static inline void
 GEN75_GPGPU_WALKER_pack(__gen_user_data *data, void * restrict dst,
-                      const struct GEN75_GPGPU_WALKER * restrict values)
+                        const struct GEN75_GPGPU_WALKER * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5076,7 +5237,6 @@ GEN75_GPGPU_WALKER_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MEDIA_CURBE_LOAD_length 0x00000004
 #define GEN75_MEDIA_CURBE_LOAD_length_bias 0x00000002
 #define GEN75_MEDIA_CURBE_LOAD_header           \
    .CommandType          =  3,                  \
@@ -5085,6 +5245,8 @@ GEN75_GPGPU_WALKER_pack(__gen_user_data *data, void * restrict dst,
    .SubOpcode            =  1,                  \
    .DwordLength          =  2
 
+#define GEN75_MEDIA_CURBE_LOAD_length 0x00000004
+
 struct GEN75_MEDIA_CURBE_LOAD {
    uint32_t                                     CommandType;
    uint32_t                                     Pipeline;
@@ -5097,7 +5259,7 @@ struct GEN75_MEDIA_CURBE_LOAD {
 
 static inline void
 GEN75_MEDIA_CURBE_LOAD_pack(__gen_user_data *data, void * restrict dst,
-                          const struct GEN75_MEDIA_CURBE_LOAD * restrict values)
+                            const struct GEN75_MEDIA_CURBE_LOAD * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5122,7 +5284,6 @@ GEN75_MEDIA_CURBE_LOAD_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD_length 0x00000004
 #define GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD_length_bias 0x00000002
 #define GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD_header\
    .CommandType          =  3,                  \
@@ -5131,6 +5292,8 @@ GEN75_MEDIA_CURBE_LOAD_pack(__gen_user_data *data, void * restrict dst,
    .SubOpcode            =  2,                  \
    .DwordLength          =  2
 
+#define GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD_length 0x00000004
+
 struct GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD {
    uint32_t                                     CommandType;
    uint32_t                                     Pipeline;
@@ -5143,7 +5306,7 @@ struct GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD {
 
 static inline void
 GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD_pack(__gen_user_data *data, void * restrict dst,
-                                         const struct GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD * restrict values)
+                                           const struct GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5175,6 +5338,8 @@ GEN75_MEDIA_INTERFACE_DESCRIPTOR_LOAD_pack(__gen_user_data *data, void * restric
    .MediaCommandOpcode   =  1,                  \
    .MediaCommandSubOpcode =  0
 
+#define GEN75_MEDIA_OBJECT_length 0x00000000
+
 struct GEN75_MEDIA_OBJECT {
    uint32_t                                     CommandType;
    uint32_t                                     MediaCommandPipeline;
@@ -5182,7 +5347,7 @@ struct GEN75_MEDIA_OBJECT {
    uint32_t                                     MediaCommandSubOpcode;
    uint32_t                                     DwordLength;
    uint32_t                                     InterfaceDescriptorOffset;
-   uint32_t                                     ChildrenPresent;
+   bool                                         ChildrenPresent;
 #define     Nothreadsynchronization                            0
 #define     Threaddispatchissynchronizedbythespawnrootthreadmessage       1
    uint32_t                                     ThreadSynchronization;
@@ -5202,13 +5367,13 @@ struct GEN75_MEDIA_OBJECT {
    uint32_t                                     ScoredboardY;
    uint32_t                                     ScoreboardX;
    uint32_t                                     ScoreboardColor;
-   uint32_t                                     ScoreboardMask;
+   bool                                         ScoreboardMask;
    /* variable length fields follow */
 };
 
 static inline void
 GEN75_MEDIA_OBJECT_pack(__gen_user_data *data, void * restrict dst,
-                      const struct GEN75_MEDIA_OBJECT * restrict values)
+                        const struct GEN75_MEDIA_OBJECT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5252,7 +5417,6 @@ GEN75_MEDIA_OBJECT_pack(__gen_user_data *data, void * restrict dst,
    /* variable length fields follow */
 }
 
-#define GEN75_MEDIA_OBJECT_PRT_length 0x00000010
 #define GEN75_MEDIA_OBJECT_PRT_length_bias 0x00000002
 #define GEN75_MEDIA_OBJECT_PRT_header           \
    .CommandType          =  3,                  \
@@ -5261,6 +5425,8 @@ GEN75_MEDIA_OBJECT_pack(__gen_user_data *data, void * restrict dst,
    .SubOpcode            =  2,                  \
    .DwordLength          = 14
 
+#define GEN75_MEDIA_OBJECT_PRT_length 0x00000010
+
 struct GEN75_MEDIA_OBJECT_PRT {
    uint32_t                                     CommandType;
    uint32_t                                     Pipeline;
@@ -5268,17 +5434,17 @@ struct GEN75_MEDIA_OBJECT_PRT {
    uint32_t                                     SubOpcode;
    uint32_t                                     DwordLength;
    uint32_t                                     InterfaceDescriptorOffset;
-   uint32_t                                     ChildrenPresent;
-   uint32_t                                     PRT_FenceNeeded;
+   bool                                         ChildrenPresent;
+   bool                                         PRT_FenceNeeded;
 #define     Rootthreadqueue                                    0
 #define     VFEstateflush                                      1
    uint32_t                                     PRT_FenceType;
-   uint32_t                                     InlineData;
+   uint32_t                                     InlineData[12];
 };
 
 static inline void
 GEN75_MEDIA_OBJECT_PRT_pack(__gen_user_data *data, void * restrict dst,
-                          const struct GEN75_MEDIA_OBJECT_PRT * restrict values)
+                            const struct GEN75_MEDIA_OBJECT_PRT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5303,9 +5469,11 @@ GEN75_MEDIA_OBJECT_PRT_pack(__gen_user_data *data, void * restrict dst,
    dw[3] =
       0;
 
-   dw[4] =
-      __gen_field(values->InlineData, 0, 31) |
-      0;
+   for (uint32_t i = 0, j = 4; i < 12; i += 1, j++) {
+      dw[j] =
+         __gen_field(values->InlineData[i + 0], 0, 31) |
+         0;
+   }
 
 }
 
@@ -5316,6 +5484,8 @@ GEN75_MEDIA_OBJECT_PRT_pack(__gen_user_data *data, void * restrict dst,
    .MediaCommandOpcode   =  1,                  \
    .SubOpcode            =  3
 
+#define GEN75_MEDIA_OBJECT_WALKER_length 0x00000000
+
 struct GEN75_MEDIA_OBJECT_WALKER {
    uint32_t                                     CommandType;
    uint32_t                                     Pipeline;
@@ -5323,7 +5493,7 @@ struct GEN75_MEDIA_OBJECT_WALKER {
    uint32_t                                     SubOpcode;
    uint32_t                                     DwordLength;
    uint32_t                                     InterfaceDescriptorOffset;
-   uint32_t                                     ChildrenPresent;
+   bool                                         ChildrenPresent;
 #define     Nothreadsynchronization                            0
 #define     Threaddispatchissynchronizedbythespawnrootthreadmessage       1
    uint32_t                                     ThreadSynchronization;
@@ -5332,10 +5502,10 @@ struct GEN75_MEDIA_OBJECT_WALKER {
    uint32_t                                     UseScoreboard;
    uint32_t                                     IndirectDataLength;
    uint32_t                                     IndirectDataStartAddress;
-   uint32_t                                     ScoreboardMask;
-   uint32_t                                     DualMode;
-   uint32_t                                     Repel;
-   uint32_t                                     QuadMode;
+   bool                                         ScoreboardMask;
+   bool                                         DualMode;
+   bool                                         Repel;
+   bool                                         QuadMode;
    uint32_t                                     ColorCountMinusOne;
    uint32_t                                     MiddleLoopExtraSteps;
    uint32_t                                     LocalMidLoopUnitY;
@@ -5363,7 +5533,7 @@ struct GEN75_MEDIA_OBJECT_WALKER {
 
 static inline void
 GEN75_MEDIA_OBJECT_WALKER_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_MEDIA_OBJECT_WALKER * restrict values)
+                               const struct GEN75_MEDIA_OBJECT_WALKER * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5458,7 +5628,6 @@ GEN75_MEDIA_OBJECT_WALKER_pack(__gen_user_data *data, void * restrict dst,
    /* variable length fields follow */
 }
 
-#define GEN75_MEDIA_STATE_FLUSH_length 0x00000002
 #define GEN75_MEDIA_STATE_FLUSH_length_bias 0x00000002
 #define GEN75_MEDIA_STATE_FLUSH_header          \
    .CommandType          =  3,                  \
@@ -5467,21 +5636,23 @@ GEN75_MEDIA_OBJECT_WALKER_pack(__gen_user_data *data, void * restrict dst,
    .SubOpcode            =  4,                  \
    .DwordLength          =  0
 
+#define GEN75_MEDIA_STATE_FLUSH_length 0x00000002
+
 struct GEN75_MEDIA_STATE_FLUSH {
    uint32_t                                     CommandType;
    uint32_t                                     Pipeline;
    uint32_t                                     MediaCommandOpcode;
    uint32_t                                     SubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     DisablePreemption;
-   uint32_t                                     FlushtoGO;
+   bool                                         DisablePreemption;
+   bool                                         FlushtoGO;
    uint32_t                                     WatermarkRequired;
    uint32_t                                     InterfaceDescriptorOffset;
 };
 
 static inline void
 GEN75_MEDIA_STATE_FLUSH_pack(__gen_user_data *data, void * restrict dst,
-                           const struct GEN75_MEDIA_STATE_FLUSH * restrict values)
+                             const struct GEN75_MEDIA_STATE_FLUSH * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5502,7 +5673,6 @@ GEN75_MEDIA_STATE_FLUSH_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MEDIA_VFE_STATE_length 0x00000008
 #define GEN75_MEDIA_VFE_STATE_length_bias 0x00000002
 #define GEN75_MEDIA_VFE_STATE_header            \
    .CommandType          =  3,                  \
@@ -5511,6 +5681,8 @@ GEN75_MEDIA_STATE_FLUSH_pack(__gen_user_data *data, void * restrict dst,
    .SubOpcode            =  0,                  \
    .DwordLength          =  6
 
+#define GEN75_MEDIA_VFE_STATE_length 0x00000008
+
 struct GEN75_MEDIA_VFE_STATE {
    uint32_t                                     CommandType;
    uint32_t                                     Pipeline;
@@ -5559,7 +5731,7 @@ struct GEN75_MEDIA_VFE_STATE {
 
 static inline void
 GEN75_MEDIA_VFE_STATE_pack(__gen_user_data *data, void * restrict dst,
-                         const struct GEN75_MEDIA_VFE_STATE * restrict values)
+                           const struct GEN75_MEDIA_VFE_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5624,12 +5796,13 @@ GEN75_MEDIA_VFE_STATE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_ARB_CHECK_length 0x00000001
 #define GEN75_MI_ARB_CHECK_length_bias 0x00000001
 #define GEN75_MI_ARB_CHECK_header               \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  5
 
+#define GEN75_MI_ARB_CHECK_length 0x00000001
+
 struct GEN75_MI_ARB_CHECK {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -5637,7 +5810,7 @@ struct GEN75_MI_ARB_CHECK {
 
 static inline void
 GEN75_MI_ARB_CHECK_pack(__gen_user_data *data, void * restrict dst,
-                      const struct GEN75_MI_ARB_CHECK * restrict values)
+                        const struct GEN75_MI_ARB_CHECK * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5648,21 +5821,22 @@ GEN75_MI_ARB_CHECK_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_ARB_ON_OFF_length 0x00000001
 #define GEN75_MI_ARB_ON_OFF_length_bias 0x00000001
 #define GEN75_MI_ARB_ON_OFF_header              \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  8
 
+#define GEN75_MI_ARB_ON_OFF_length 0x00000001
+
 struct GEN75_MI_ARB_ON_OFF {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-   uint32_t                                     ArbitrationEnable;
+   bool                                         ArbitrationEnable;
 };
 
 static inline void
 GEN75_MI_ARB_ON_OFF_pack(__gen_user_data *data, void * restrict dst,
-                       const struct GEN75_MI_ARB_ON_OFF * restrict values)
+                         const struct GEN75_MI_ARB_ON_OFF * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5674,12 +5848,13 @@ GEN75_MI_ARB_ON_OFF_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_BATCH_BUFFER_END_length 0x00000001
 #define GEN75_MI_BATCH_BUFFER_END_length_bias 0x00000001
 #define GEN75_MI_BATCH_BUFFER_END_header        \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 10
 
+#define GEN75_MI_BATCH_BUFFER_END_length 0x00000001
+
 struct GEN75_MI_BATCH_BUFFER_END {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -5687,7 +5862,7 @@ struct GEN75_MI_BATCH_BUFFER_END {
 
 static inline void
 GEN75_MI_BATCH_BUFFER_END_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_MI_BATCH_BUFFER_END * restrict values)
+                               const struct GEN75_MI_BATCH_BUFFER_END * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5698,24 +5873,25 @@ GEN75_MI_BATCH_BUFFER_END_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_BATCH_BUFFER_START_length 0x00000002
 #define GEN75_MI_BATCH_BUFFER_START_length_bias 0x00000002
 #define GEN75_MI_BATCH_BUFFER_START_header      \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 49,                  \
    .DwordLength          =  0
 
+#define GEN75_MI_BATCH_BUFFER_START_length 0x00000002
+
 struct GEN75_MI_BATCH_BUFFER_START {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
 #define     _1stlevelbatch                                     0
 #define     _2ndlevelbatch                                     1
    uint32_t                                     _2ndLevelBatchBuffer;
-   uint32_t                                     AddOffsetEnable;
-   uint32_t                                     PredicationEnable;
+   bool                                         AddOffsetEnable;
+   bool                                         PredicationEnable;
    uint32_t                                     NonPrivileged;
-   uint32_t                                     ClearCommandBufferEnable;
-   uint32_t                                     ResourceStreamerEnable;
+   bool                                         ClearCommandBufferEnable;
+   bool                                         ResourceStreamerEnable;
 #define     ASI_GGTT                                           0
 #define     ASI_PPGTT                                          1
    uint32_t                                     AddressSpaceIndicator;
@@ -5725,7 +5901,7 @@ struct GEN75_MI_BATCH_BUFFER_START {
 
 static inline void
 GEN75_MI_BATCH_BUFFER_START_pack(__gen_user_data *data, void * restrict dst,
-                               const struct GEN75_MI_BATCH_BUFFER_START * restrict values)
+                                 const struct GEN75_MI_BATCH_BUFFER_START * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5755,6 +5931,8 @@ GEN75_MI_BATCH_BUFFER_START_pack(__gen_user_data *data, void * restrict dst,
    .CommandType          =  0,                  \
    .MICommandOpcode      = 39
 
+#define GEN75_MI_CLFLUSH_length 0x00000000
+
 struct GEN75_MI_CLFLUSH {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -5770,7 +5948,7 @@ struct GEN75_MI_CLFLUSH {
 
 static inline void
 GEN75_MI_CLFLUSH_pack(__gen_user_data *data, void * restrict dst,
-                    const struct GEN75_MI_CLFLUSH * restrict values)
+                      const struct GEN75_MI_CLFLUSH * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5797,7 +5975,6 @@ GEN75_MI_CLFLUSH_pack(__gen_user_data *data, void * restrict dst,
    /* variable length fields follow */
 }
 
-#define GEN75_MI_CONDITIONAL_BATCH_BUFFER_END_length 0x00000002
 #define GEN75_MI_CONDITIONAL_BATCH_BUFFER_END_length_bias 0x00000002
 #define GEN75_MI_CONDITIONAL_BATCH_BUFFER_END_header\
    .CommandType          =  0,                  \
@@ -5806,6 +5983,8 @@ GEN75_MI_CLFLUSH_pack(__gen_user_data *data, void * restrict dst,
    .CompareSemaphore     =  0,                  \
    .DwordLength          =  0
 
+#define GEN75_MI_CONDITIONAL_BATCH_BUFFER_END_length 0x00000002
+
 struct GEN75_MI_CONDITIONAL_BATCH_BUFFER_END {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -5818,7 +5997,7 @@ struct GEN75_MI_CONDITIONAL_BATCH_BUFFER_END {
 
 static inline void
 GEN75_MI_CONDITIONAL_BATCH_BUFFER_END_pack(__gen_user_data *data, void * restrict dst,
-                                         const struct GEN75_MI_CONDITIONAL_BATCH_BUFFER_END * restrict values)
+                                           const struct GEN75_MI_CONDITIONAL_BATCH_BUFFER_END * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5842,31 +6021,32 @@ GEN75_MI_CONDITIONAL_BATCH_BUFFER_END_pack(__gen_user_data *data, void * restric
 
 }
 
-#define GEN75_MI_FLUSH_length 0x00000001
 #define GEN75_MI_FLUSH_length_bias 0x00000001
 #define GEN75_MI_FLUSH_header                   \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  4
 
+#define GEN75_MI_FLUSH_length 0x00000001
+
 struct GEN75_MI_FLUSH {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-   uint32_t                                     IndirectStatePointersDisable;
-   uint32_t                                     GenericMediaStateClear;
+   bool                                         IndirectStatePointersDisable;
+   bool                                         GenericMediaStateClear;
 #define     DontReset                                          0
 #define     Reset                                              1
-   uint32_t                                     GlobalSnapshotCountReset;
+   bool                                         GlobalSnapshotCountReset;
 #define     Flush                                              0
 #define     DontFlush                                          1
-   uint32_t                                     RenderCacheFlushInhibit;
+   bool                                         RenderCacheFlushInhibit;
 #define     DontInvalidate                                     0
 #define     Invalidate                                         1
-   uint32_t                                     StateInstructionCacheInvalidate;
+   bool                                         StateInstructionCacheInvalidate;
 };
 
 static inline void
 GEN75_MI_FLUSH_pack(__gen_user_data *data, void * restrict dst,
-                  const struct GEN75_MI_FLUSH * restrict values)
+                    const struct GEN75_MI_FLUSH * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5882,13 +6062,14 @@ GEN75_MI_FLUSH_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_LOAD_REGISTER_IMM_length 0x00000003
 #define GEN75_MI_LOAD_REGISTER_IMM_length_bias 0x00000002
 #define GEN75_MI_LOAD_REGISTER_IMM_header       \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 34,                  \
    .DwordLength          =  1
 
+#define GEN75_MI_LOAD_REGISTER_IMM_length 0x00000003
+
 struct GEN75_MI_LOAD_REGISTER_IMM {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -5900,7 +6081,7 @@ struct GEN75_MI_LOAD_REGISTER_IMM {
 
 static inline void
 GEN75_MI_LOAD_REGISTER_IMM_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_MI_LOAD_REGISTER_IMM * restrict values)
+                                const struct GEN75_MI_LOAD_REGISTER_IMM * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5921,17 +6102,18 @@ GEN75_MI_LOAD_REGISTER_IMM_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_LOAD_REGISTER_MEM_length 0x00000003
 #define GEN75_MI_LOAD_REGISTER_MEM_length_bias 0x00000002
 #define GEN75_MI_LOAD_REGISTER_MEM_header       \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 41,                  \
    .DwordLength          =  1
 
+#define GEN75_MI_LOAD_REGISTER_MEM_length 0x00000003
+
 struct GEN75_MI_LOAD_REGISTER_MEM {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-   uint32_t                                     UseGlobalGTT;
+   bool                                         UseGlobalGTT;
    uint32_t                                     AsyncModeEnable;
    uint32_t                                     DwordLength;
    uint32_t                                     RegisterAddress;
@@ -5940,7 +6122,7 @@ struct GEN75_MI_LOAD_REGISTER_MEM {
 
 static inline void
 GEN75_MI_LOAD_REGISTER_MEM_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_MI_LOAD_REGISTER_MEM * restrict values)
+                                const struct GEN75_MI_LOAD_REGISTER_MEM * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -5964,13 +6146,14 @@ GEN75_MI_LOAD_REGISTER_MEM_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_LOAD_REGISTER_REG_length 0x00000003
 #define GEN75_MI_LOAD_REGISTER_REG_length_bias 0x00000002
 #define GEN75_MI_LOAD_REGISTER_REG_header       \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 42,                  \
    .DwordLength          =  1
 
+#define GEN75_MI_LOAD_REGISTER_REG_length 0x00000003
+
 struct GEN75_MI_LOAD_REGISTER_REG {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -5981,7 +6164,7 @@ struct GEN75_MI_LOAD_REGISTER_REG {
 
 static inline void
 GEN75_MI_LOAD_REGISTER_REG_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_MI_LOAD_REGISTER_REG * restrict values)
+                                const struct GEN75_MI_LOAD_REGISTER_REG * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6001,13 +6184,14 @@ GEN75_MI_LOAD_REGISTER_REG_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_LOAD_SCAN_LINES_EXCL_length 0x00000002
 #define GEN75_MI_LOAD_SCAN_LINES_EXCL_length_bias 0x00000002
 #define GEN75_MI_LOAD_SCAN_LINES_EXCL_header    \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 19,                  \
    .DwordLength          =  0
 
+#define GEN75_MI_LOAD_SCAN_LINES_EXCL_length 0x00000002
+
 struct GEN75_MI_LOAD_SCAN_LINES_EXCL {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6022,7 +6206,7 @@ struct GEN75_MI_LOAD_SCAN_LINES_EXCL {
 
 static inline void
 GEN75_MI_LOAD_SCAN_LINES_EXCL_pack(__gen_user_data *data, void * restrict dst,
-                                 const struct GEN75_MI_LOAD_SCAN_LINES_EXCL * restrict values)
+                                   const struct GEN75_MI_LOAD_SCAN_LINES_EXCL * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6040,13 +6224,14 @@ GEN75_MI_LOAD_SCAN_LINES_EXCL_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_LOAD_SCAN_LINES_INCL_length 0x00000002
 #define GEN75_MI_LOAD_SCAN_LINES_INCL_length_bias 0x00000002
 #define GEN75_MI_LOAD_SCAN_LINES_INCL_header    \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 18,                  \
    .DwordLength          =  0
 
+#define GEN75_MI_LOAD_SCAN_LINES_INCL_length 0x00000002
+
 struct GEN75_MI_LOAD_SCAN_LINES_INCL {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6061,7 +6246,7 @@ struct GEN75_MI_LOAD_SCAN_LINES_INCL {
 
 static inline void
 GEN75_MI_LOAD_SCAN_LINES_INCL_pack(__gen_user_data *data, void * restrict dst,
-                                 const struct GEN75_MI_LOAD_SCAN_LINES_INCL * restrict values)
+                                   const struct GEN75_MI_LOAD_SCAN_LINES_INCL * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6079,13 +6264,14 @@ GEN75_MI_LOAD_SCAN_LINES_INCL_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_LOAD_URB_MEM_length 0x00000003
 #define GEN75_MI_LOAD_URB_MEM_length_bias 0x00000002
 #define GEN75_MI_LOAD_URB_MEM_header            \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 44,                  \
    .DwordLength          =  1
 
+#define GEN75_MI_LOAD_URB_MEM_length 0x00000003
+
 struct GEN75_MI_LOAD_URB_MEM {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6096,7 +6282,7 @@ struct GEN75_MI_LOAD_URB_MEM {
 
 static inline void
 GEN75_MI_LOAD_URB_MEM_pack(__gen_user_data *data, void * restrict dst,
-                         const struct GEN75_MI_LOAD_URB_MEM * restrict values)
+                           const struct GEN75_MI_LOAD_URB_MEM * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6123,6 +6309,8 @@ GEN75_MI_LOAD_URB_MEM_pack(__gen_user_data *data, void * restrict dst,
    .CommandType          =  0,                  \
    .MICommandOpcode      = 26
 
+#define GEN75_MI_MATH_length 0x00000000
+
 struct GEN75_MI_MATH {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6134,7 +6322,7 @@ struct GEN75_MI_MATH {
 
 static inline void
 GEN75_MI_MATH_pack(__gen_user_data *data, void * restrict dst,
-                 const struct GEN75_MI_MATH * restrict values)
+                   const struct GEN75_MI_MATH * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6155,22 +6343,23 @@ GEN75_MI_MATH_pack(__gen_user_data *data, void * restrict dst,
    /* variable length fields follow */
 }
 
-#define GEN75_MI_NOOP_length 0x00000001
 #define GEN75_MI_NOOP_length_bias 0x00000001
 #define GEN75_MI_NOOP_header                    \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  0
 
+#define GEN75_MI_NOOP_length 0x00000001
+
 struct GEN75_MI_NOOP {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-   uint32_t                                     IdentificationNumberRegisterWriteEnable;
+   bool                                         IdentificationNumberRegisterWriteEnable;
    uint32_t                                     IdentificationNumber;
 };
 
 static inline void
 GEN75_MI_NOOP_pack(__gen_user_data *data, void * restrict dst,
-                 const struct GEN75_MI_NOOP * restrict values)
+                   const struct GEN75_MI_NOOP * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6183,18 +6372,19 @@ GEN75_MI_NOOP_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_PREDICATE_length 0x00000001
 #define GEN75_MI_PREDICATE_length_bias 0x00000001
 #define GEN75_MI_PREDICATE_header               \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 12
 
+#define GEN75_MI_PREDICATE_length 0x00000001
+
 struct GEN75_MI_PREDICATE {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-#define     KEEP                                               0
-#define     LOAD                                               2
-#define     LOADINV                                            3
+#define     LOAD_KEEP                                          0
+#define     LOAD_LOAD                                          2
+#define     LOAD_LOADINV                                       3
    uint32_t                                     LoadOperation;
 #define     COMBINE_SET                                        0
 #define     COMBINE_AND                                        1
@@ -6208,7 +6398,7 @@ struct GEN75_MI_PREDICATE {
 
 static inline void
 GEN75_MI_PREDICATE_pack(__gen_user_data *data, void * restrict dst,
-                      const struct GEN75_MI_PREDICATE * restrict values)
+                        const struct GEN75_MI_PREDICATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6222,12 +6412,13 @@ GEN75_MI_PREDICATE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_REPORT_HEAD_length 0x00000001
 #define GEN75_MI_REPORT_HEAD_length_bias 0x00000001
 #define GEN75_MI_REPORT_HEAD_header             \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  7
 
+#define GEN75_MI_REPORT_HEAD_length 0x00000001
+
 struct GEN75_MI_REPORT_HEAD {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6235,7 +6426,7 @@ struct GEN75_MI_REPORT_HEAD {
 
 static inline void
 GEN75_MI_REPORT_HEAD_pack(__gen_user_data *data, void * restrict dst,
-                        const struct GEN75_MI_REPORT_HEAD * restrict values)
+                          const struct GEN75_MI_REPORT_HEAD * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6246,23 +6437,24 @@ GEN75_MI_REPORT_HEAD_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_RS_CONTEXT_length 0x00000001
 #define GEN75_MI_RS_CONTEXT_length_bias 0x00000001
 #define GEN75_MI_RS_CONTEXT_header              \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 15
 
+#define GEN75_MI_RS_CONTEXT_length 0x00000001
+
 struct GEN75_MI_RS_CONTEXT {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-#define     Restore                                            0
-#define     Save                                               1
+#define     RS_RESTORE                                         0
+#define     RS_SAVE                                            1
    uint32_t                                     ResourceStreamerSave;
 };
 
 static inline void
 GEN75_MI_RS_CONTEXT_pack(__gen_user_data *data, void * restrict dst,
-                       const struct GEN75_MI_RS_CONTEXT * restrict values)
+                         const struct GEN75_MI_RS_CONTEXT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6274,23 +6466,24 @@ GEN75_MI_RS_CONTEXT_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_RS_CONTROL_length 0x00000001
 #define GEN75_MI_RS_CONTROL_length_bias 0x00000001
 #define GEN75_MI_RS_CONTROL_header              \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  6
 
+#define GEN75_MI_RS_CONTROL_length 0x00000001
+
 struct GEN75_MI_RS_CONTROL {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-#define     Stop                                               0
-#define     Start                                              1
+#define     RS_STOP                                            0
+#define     RS_START                                           1
    uint32_t                                     ResourceStreamerControl;
 };
 
 static inline void
 GEN75_MI_RS_CONTROL_pack(__gen_user_data *data, void * restrict dst,
-                       const struct GEN75_MI_RS_CONTROL * restrict values)
+                         const struct GEN75_MI_RS_CONTROL * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6302,13 +6495,14 @@ GEN75_MI_RS_CONTROL_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_RS_STORE_DATA_IMM_length 0x00000004
 #define GEN75_MI_RS_STORE_DATA_IMM_length_bias 0x00000002
 #define GEN75_MI_RS_STORE_DATA_IMM_header       \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 43,                  \
    .DwordLength          =  2
 
+#define GEN75_MI_RS_STORE_DATA_IMM_length 0x00000004
+
 struct GEN75_MI_RS_STORE_DATA_IMM {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6320,7 +6514,7 @@ struct GEN75_MI_RS_STORE_DATA_IMM {
 
 static inline void
 GEN75_MI_RS_STORE_DATA_IMM_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_MI_RS_STORE_DATA_IMM * restrict values)
+                                const struct GEN75_MI_RS_STORE_DATA_IMM * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6346,13 +6540,14 @@ GEN75_MI_RS_STORE_DATA_IMM_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_SEMAPHORE_MBOX_length 0x00000003
 #define GEN75_MI_SEMAPHORE_MBOX_length_bias 0x00000002
 #define GEN75_MI_SEMAPHORE_MBOX_header          \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 22,                  \
    .DwordLength          =  1
 
+#define GEN75_MI_SEMAPHORE_MBOX_length 0x00000003
+
 struct GEN75_MI_SEMAPHORE_MBOX {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6368,7 +6563,7 @@ struct GEN75_MI_SEMAPHORE_MBOX {
 
 static inline void
 GEN75_MI_SEMAPHORE_MBOX_pack(__gen_user_data *data, void * restrict dst,
-                           const struct GEN75_MI_SEMAPHORE_MBOX * restrict values)
+                             const struct GEN75_MI_SEMAPHORE_MBOX * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6389,29 +6584,30 @@ GEN75_MI_SEMAPHORE_MBOX_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_SET_CONTEXT_length 0x00000002
 #define GEN75_MI_SET_CONTEXT_length_bias 0x00000002
 #define GEN75_MI_SET_CONTEXT_header             \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 24,                  \
    .DwordLength          =  0
 
+#define GEN75_MI_SET_CONTEXT_length 0x00000002
+
 struct GEN75_MI_SET_CONTEXT {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
    uint32_t                                     DwordLength;
    __gen_address_type                           LogicalContextAddress;
    uint32_t                                     ReservedMustbe1;
-   uint32_t                                     CoreModeEnable;
-   uint32_t                                     ResourceStreamerStateSaveEnable;
-   uint32_t                                     ResourceStreamerStateRestoreEnable;
+   bool                                         CoreModeEnable;
+   bool                                         ResourceStreamerStateSaveEnable;
+   bool                                         ResourceStreamerStateRestoreEnable;
    uint32_t                                     ForceRestore;
    uint32_t                                     RestoreInhibit;
 };
 
 static inline void
 GEN75_MI_SET_CONTEXT_pack(__gen_user_data *data, void * restrict dst,
-                        const struct GEN75_MI_SET_CONTEXT * restrict values)
+                          const struct GEN75_MI_SET_CONTEXT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6435,13 +6631,14 @@ GEN75_MI_SET_CONTEXT_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_SET_PREDICATE_length 0x00000001
 #define GEN75_MI_SET_PREDICATE_length_bias 0x00000001
 #define GEN75_MI_SET_PREDICATE_header           \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  1,                  \
    .PREDICATEENABLE      =  6
 
+#define GEN75_MI_SET_PREDICATE_length 0x00000001
+
 struct GEN75_MI_SET_PREDICATE {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6449,12 +6646,12 @@ struct GEN75_MI_SET_PREDICATE {
 #define     PredicateonClear                                   1
 #define     PredicateonSet                                     2
 #define     PredicateDisable                                   3
-   uint32_t                                     PREDICATEENABLE;
+   bool                                         PREDICATEENABLE;
 };
 
 static inline void
 GEN75_MI_SET_PREDICATE_pack(__gen_user_data *data, void * restrict dst,
-                          const struct GEN75_MI_SET_PREDICATE * restrict values)
+                            const struct GEN75_MI_SET_PREDICATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6466,17 +6663,18 @@ GEN75_MI_SET_PREDICATE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_STORE_DATA_IMM_length 0x00000004
 #define GEN75_MI_STORE_DATA_IMM_length_bias 0x00000002
 #define GEN75_MI_STORE_DATA_IMM_header          \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 32,                  \
    .DwordLength          =  2
 
+#define GEN75_MI_STORE_DATA_IMM_length 0x00000004
+
 struct GEN75_MI_STORE_DATA_IMM {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-   uint32_t                                     UseGlobalGTT;
+   bool                                         UseGlobalGTT;
    uint32_t                                     DwordLength;
    uint32_t                                     Address;
    uint32_t                                     CoreModeEnable;
@@ -6486,7 +6684,7 @@ struct GEN75_MI_STORE_DATA_IMM {
 
 static inline void
 GEN75_MI_STORE_DATA_IMM_pack(__gen_user_data *data, void * restrict dst,
-                           const struct GEN75_MI_STORE_DATA_IMM * restrict values)
+                             const struct GEN75_MI_STORE_DATA_IMM * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6515,13 +6713,14 @@ GEN75_MI_STORE_DATA_IMM_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_STORE_DATA_INDEX_length 0x00000003
 #define GEN75_MI_STORE_DATA_INDEX_length_bias 0x00000002
 #define GEN75_MI_STORE_DATA_INDEX_header        \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 33,                  \
    .DwordLength          =  1
 
+#define GEN75_MI_STORE_DATA_INDEX_length 0x00000003
+
 struct GEN75_MI_STORE_DATA_INDEX {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6533,7 +6732,7 @@ struct GEN75_MI_STORE_DATA_INDEX {
 
 static inline void
 GEN75_MI_STORE_DATA_INDEX_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_MI_STORE_DATA_INDEX * restrict values)
+                               const struct GEN75_MI_STORE_DATA_INDEX * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6557,13 +6756,14 @@ GEN75_MI_STORE_DATA_INDEX_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_STORE_URB_MEM_length 0x00000003
 #define GEN75_MI_STORE_URB_MEM_length_bias 0x00000002
 #define GEN75_MI_STORE_URB_MEM_header           \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 45,                  \
    .DwordLength          =  1
 
+#define GEN75_MI_STORE_URB_MEM_length 0x00000003
+
 struct GEN75_MI_STORE_URB_MEM {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6574,7 +6774,7 @@ struct GEN75_MI_STORE_URB_MEM {
 
 static inline void
 GEN75_MI_STORE_URB_MEM_pack(__gen_user_data *data, void * restrict dst,
-                          const struct GEN75_MI_STORE_URB_MEM * restrict values)
+                            const struct GEN75_MI_STORE_URB_MEM * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6596,21 +6796,22 @@ GEN75_MI_STORE_URB_MEM_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_SUSPEND_FLUSH_length 0x00000001
 #define GEN75_MI_SUSPEND_FLUSH_length_bias 0x00000001
 #define GEN75_MI_SUSPEND_FLUSH_header           \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 11
 
+#define GEN75_MI_SUSPEND_FLUSH_length 0x00000001
+
 struct GEN75_MI_SUSPEND_FLUSH {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-   uint32_t                                     SuspendFlush;
+   bool                                         SuspendFlush;
 };
 
 static inline void
 GEN75_MI_SUSPEND_FLUSH_pack(__gen_user_data *data, void * restrict dst,
-                          const struct GEN75_MI_SUSPEND_FLUSH * restrict values)
+                            const struct GEN75_MI_SUSPEND_FLUSH * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6622,12 +6823,13 @@ GEN75_MI_SUSPEND_FLUSH_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_TOPOLOGY_FILTER_length 0x00000001
 #define GEN75_MI_TOPOLOGY_FILTER_length_bias 0x00000001
 #define GEN75_MI_TOPOLOGY_FILTER_header         \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 13
 
+#define GEN75_MI_TOPOLOGY_FILTER_length 0x00000001
+
 struct GEN75_MI_TOPOLOGY_FILTER {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6636,7 +6838,7 @@ struct GEN75_MI_TOPOLOGY_FILTER {
 
 static inline void
 GEN75_MI_TOPOLOGY_FILTER_pack(__gen_user_data *data, void * restrict dst,
-                            const struct GEN75_MI_TOPOLOGY_FILTER * restrict values)
+                              const struct GEN75_MI_TOPOLOGY_FILTER * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6653,6 +6855,8 @@ GEN75_MI_TOPOLOGY_FILTER_pack(__gen_user_data *data, void * restrict dst,
    .CommandType          =  0,                  \
    .MICommandOpcode      = 35
 
+#define GEN75_MI_UPDATE_GTT_length 0x00000000
+
 struct GEN75_MI_UPDATE_GTT {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6666,7 +6870,7 @@ struct GEN75_MI_UPDATE_GTT {
 
 static inline void
 GEN75_MI_UPDATE_GTT_pack(__gen_user_data *data, void * restrict dst,
-                       const struct GEN75_MI_UPDATE_GTT * restrict values)
+                         const struct GEN75_MI_UPDATE_GTT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6686,12 +6890,13 @@ GEN75_MI_UPDATE_GTT_pack(__gen_user_data *data, void * restrict dst,
    /* variable length fields follow */
 }
 
-#define GEN75_MI_URB_ATOMIC_ALLOC_length 0x00000001
 #define GEN75_MI_URB_ATOMIC_ALLOC_length_bias 0x00000001
 #define GEN75_MI_URB_ATOMIC_ALLOC_header        \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  9
 
+#define GEN75_MI_URB_ATOMIC_ALLOC_length 0x00000001
+
 struct GEN75_MI_URB_ATOMIC_ALLOC {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6701,7 +6906,7 @@ struct GEN75_MI_URB_ATOMIC_ALLOC {
 
 static inline void
 GEN75_MI_URB_ATOMIC_ALLOC_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_MI_URB_ATOMIC_ALLOC * restrict values)
+                               const struct GEN75_MI_URB_ATOMIC_ALLOC * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6714,13 +6919,14 @@ GEN75_MI_URB_ATOMIC_ALLOC_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_URB_CLEAR_length 0x00000002
 #define GEN75_MI_URB_CLEAR_length_bias 0x00000002
 #define GEN75_MI_URB_CLEAR_header               \
    .CommandType          =  0,                  \
    .MICommandOpcode      = 25,                  \
    .DwordLength          =  0
 
+#define GEN75_MI_URB_CLEAR_length 0x00000002
+
 struct GEN75_MI_URB_CLEAR {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6731,7 +6937,7 @@ struct GEN75_MI_URB_CLEAR {
 
 static inline void
 GEN75_MI_URB_CLEAR_pack(__gen_user_data *data, void * restrict dst,
-                      const struct GEN75_MI_URB_CLEAR * restrict values)
+                        const struct GEN75_MI_URB_CLEAR * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6748,12 +6954,13 @@ GEN75_MI_URB_CLEAR_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_USER_INTERRUPT_length 0x00000001
 #define GEN75_MI_USER_INTERRUPT_length_bias 0x00000001
 #define GEN75_MI_USER_INTERRUPT_header          \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  2
 
+#define GEN75_MI_USER_INTERRUPT_length 0x00000001
+
 struct GEN75_MI_USER_INTERRUPT {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
@@ -6761,7 +6968,7 @@ struct GEN75_MI_USER_INTERRUPT {
 
 static inline void
 GEN75_MI_USER_INTERRUPT_pack(__gen_user_data *data, void * restrict dst,
-                           const struct GEN75_MI_USER_INTERRUPT * restrict values)
+                             const struct GEN75_MI_USER_INTERRUPT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6772,37 +6979,38 @@ GEN75_MI_USER_INTERRUPT_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MI_WAIT_FOR_EVENT_length 0x00000001
 #define GEN75_MI_WAIT_FOR_EVENT_length_bias 0x00000001
 #define GEN75_MI_WAIT_FOR_EVENT_header          \
    .CommandType          =  0,                  \
    .MICommandOpcode      =  3
 
+#define GEN75_MI_WAIT_FOR_EVENT_length 0x00000001
+
 struct GEN75_MI_WAIT_FOR_EVENT {
    uint32_t                                     CommandType;
    uint32_t                                     MICommandOpcode;
-   uint32_t                                     DisplayPipeCHorizontalBlankWaitEnable;
-   uint32_t                                     DisplayPipeCVerticalBlankWaitEnable;
-   uint32_t                                     DisplaySpriteCFlipPendingWaitEnable;
+   bool                                         DisplayPipeCHorizontalBlankWaitEnable;
+   bool                                         DisplayPipeCVerticalBlankWaitEnable;
+   bool                                         DisplaySpriteCFlipPendingWaitEnable;
 #define     Notenabled                                         0
    uint32_t                                     ConditionCodeWaitSelect;
-   uint32_t                                     DisplayPlaneCFlipPendingWaitEnable;
-   uint32_t                                     DisplayPipeCScanLineWaitEnable;
-   uint32_t                                     DisplayPipeBHorizontalBlankWaitEnable;
-   uint32_t                                     DisplayPipeBVerticalBlankWaitEnable;
-   uint32_t                                     DisplaySpriteBFlipPendingWaitEnable;
-   uint32_t                                     DisplayPlaneBFlipPendingWaitEnable;
-   uint32_t                                     DisplayPipeBScanLineWaitEnable;
-   uint32_t                                     DisplayPipeAHorizontalBlankWaitEnable;
-   uint32_t                                     DisplayPipeAVerticalBlankWaitEnable;
-   uint32_t                                     DisplaySpriteAFlipPendingWaitEnable;
-   uint32_t                                     DisplayPlaneAFlipPendingWaitEnable;
-   uint32_t                                     DisplayPipeAScanLineWaitEnable;
+   bool                                         DisplayPlaneCFlipPendingWaitEnable;
+   bool                                         DisplayPipeCScanLineWaitEnable;
+   bool                                         DisplayPipeBHorizontalBlankWaitEnable;
+   bool                                         DisplayPipeBVerticalBlankWaitEnable;
+   bool                                         DisplaySpriteBFlipPendingWaitEnable;
+   bool                                         DisplayPlaneBFlipPendingWaitEnable;
+   bool                                         DisplayPipeBScanLineWaitEnable;
+   bool                                         DisplayPipeAHorizontalBlankWaitEnable;
+   bool                                         DisplayPipeAVerticalBlankWaitEnable;
+   bool                                         DisplaySpriteAFlipPendingWaitEnable;
+   bool                                         DisplayPlaneAFlipPendingWaitEnable;
+   bool                                         DisplayPipeAScanLineWaitEnable;
 };
 
 static inline void
 GEN75_MI_WAIT_FOR_EVENT_pack(__gen_user_data *data, void * restrict dst,
-                           const struct GEN75_MI_WAIT_FOR_EVENT * restrict values)
+                             const struct GEN75_MI_WAIT_FOR_EVENT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6829,7 +7037,6 @@ GEN75_MI_WAIT_FOR_EVENT_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_PIPE_CONTROL_length 0x00000005
 #define GEN75_PIPE_CONTROL_length_bias 0x00000002
 #define GEN75_PIPE_CONTROL_header               \
    .CommandType          =  3,                  \
@@ -6838,6 +7045,8 @@ GEN75_MI_WAIT_FOR_EVENT_pack(__gen_user_data *data, void * restrict dst,
    ._3DCommandSubOpcode  =  0,                  \
    .DwordLength          =  3
 
+#define GEN75_PIPE_CONTROL_length 0x00000005
+
 struct GEN75_PIPE_CONTROL {
    uint32_t                                     CommandType;
    uint32_t                                     CommandSubType;
@@ -6856,29 +7065,29 @@ struct GEN75_PIPE_CONTROL {
 #define     Reset                                              1
    uint32_t                                     GlobalSnapshotCountReset;
    uint32_t                                     TLBInvalidate;
-   uint32_t                                     GenericMediaStateClear;
+   bool                                         GenericMediaStateClear;
 #define     NoWrite                                            0
 #define     WriteImmediateData                                 1
 #define     WritePSDepthCount                                  2
 #define     WriteTimestamp                                     3
    uint32_t                                     PostSyncOperation;
-   uint32_t                                     DepthStallEnable;
+   bool                                         DepthStallEnable;
 #define     DisableFlush                                       0
 #define     EnableFlush                                        1
-   uint32_t                                     RenderTargetCacheFlushEnable;
-   uint32_t                                     InstructionCacheInvalidateEnable;
-   uint32_t                                     TextureCacheInvalidationEnable;
-   uint32_t                                     IndirectStatePointersDisable;
-   uint32_t                                     NotifyEnable;
-   uint32_t                                     PipeControlFlushEnable;
-   uint32_t                                     DCFlushEnable;
-   uint32_t                                     VFCacheInvalidationEnable;
-   uint32_t                                     ConstantCacheInvalidationEnable;
-   uint32_t                                     StateCacheInvalidationEnable;
-   uint32_t                                     StallAtPixelScoreboard;
+   bool                                         RenderTargetCacheFlushEnable;
+   bool                                         InstructionCacheInvalidateEnable;
+   bool                                         TextureCacheInvalidationEnable;
+   bool                                         IndirectStatePointersDisable;
+   bool                                         NotifyEnable;
+   bool                                         PipeControlFlushEnable;
+   bool                                         DCFlushEnable;
+   bool                                         VFCacheInvalidationEnable;
+   bool                                         ConstantCacheInvalidationEnable;
+   bool                                         StateCacheInvalidationEnable;
+   bool                                         StallAtPixelScoreboard;
 #define     FlushDisabled                                      0
 #define     FlushEnabled                                       1
-   uint32_t                                     DepthCacheFlushEnable;
+   bool                                         DepthCacheFlushEnable;
    __gen_address_type                           Address;
    uint32_t                                     ImmediateData;
    uint32_t                                     ImmediateData0;
@@ -6886,7 +7095,7 @@ struct GEN75_PIPE_CONTROL {
 
 static inline void
 GEN75_PIPE_CONTROL_pack(__gen_user_data *data, void * restrict dst,
-                      const struct GEN75_PIPE_CONTROL * restrict values)
+                        const struct GEN75_PIPE_CONTROL * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6938,20 +7147,6 @@ GEN75_PIPE_CONTROL_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_3DSTATE_CONSTANT_BODY_length 0x00000006
-
-#define GEN75_BINDING_TABLE_EDIT_ENTRY_length 0x00000001
-
-#define GEN75_GATHER_CONSTANT_ENTRY_length 0x00000001
-
-#define GEN75_VERTEX_BUFFER_STATE_length 0x00000004
-
-#define GEN75_VERTEX_ELEMENT_STATE_length 0x00000002
-
-#define GEN75_SO_DECL_ENTRY_length 0x00000002
-
-#define GEN75_SO_DECL_length 0x00000001
-
 #define GEN75_SCISSOR_RECT_length 0x00000002
 
 struct GEN75_SCISSOR_RECT {
@@ -6963,7 +7158,7 @@ struct GEN75_SCISSOR_RECT {
 
 static inline void
 GEN75_SCISSOR_RECT_pack(__gen_user_data *data, void * restrict dst,
-                      const struct GEN75_SCISSOR_RECT * restrict values)
+                        const struct GEN75_SCISSOR_RECT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -6996,7 +7191,7 @@ struct GEN75_SF_CLIP_VIEWPORT {
 
 static inline void
 GEN75_SF_CLIP_VIEWPORT_pack(__gen_user_data *data, void * restrict dst,
-                          const struct GEN75_SF_CLIP_VIEWPORT * restrict values)
+                            const struct GEN75_SF_CLIP_VIEWPORT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -7046,16 +7241,18 @@ GEN75_SF_CLIP_VIEWPORT_pack(__gen_user_data *data, void * restrict dst,
       __gen_float(values->YMaxClipGuardband) |
       0;
 
-   dw[12] =
-      0;
+   for (uint32_t i = 0, j = 12; i < 4; i += 1, j++) {
+      dw[j] =
+         0;
+   }
 
 }
 
 #define GEN75_BLEND_STATE_length 0x00000002
 
 struct GEN75_BLEND_STATE {
-   uint32_t                                     ColorBufferBlendEnable;
-   uint32_t                                     IndependentAlphaBlendEnable;
+   bool                                         ColorBufferBlendEnable;
+   bool                                         IndependentAlphaBlendEnable;
 #define     BLENDFUNCTION_ADD                                  0
 #define     BLENDFUNCTION_SUBTRACT                             1
 #define     BLENDFUNCTION_REVERSE_SUBTRACT                     2
@@ -7091,14 +7288,14 @@ struct GEN75_BLEND_STATE {
    uint32_t                                     ColorBlendFunction;
    uint32_t                                     SourceBlendFactor;
    uint32_t                                     DestinationBlendFactor;
-   uint32_t                                     AlphaToCoverageEnable;
-   uint32_t                                     AlphaToOneEnable;
-   uint32_t                                     AlphaToCoverageDitherEnable;
-   uint32_t                                     WriteDisableAlpha;
-   uint32_t                                     WriteDisableRed;
-   uint32_t                                     WriteDisableGreen;
-   uint32_t                                     WriteDisableBlue;
-   uint32_t                                     LogicOpEnable;
+   bool                                         AlphaToCoverageEnable;
+   bool                                         AlphaToOneEnable;
+   bool                                         AlphaToCoverageDitherEnable;
+   bool                                         WriteDisableAlpha;
+   bool                                         WriteDisableRed;
+   bool                                         WriteDisableGreen;
+   bool                                         WriteDisableBlue;
+   bool                                         LogicOpEnable;
 #define     LOGICOP_CLEAR                                      0
 #define     LOGICOP_NOR                                        1
 #define     LOGICOP_AND_INVERTED                               2
@@ -7116,7 +7313,7 @@ struct GEN75_BLEND_STATE {
 #define     LOGICOP_OR                                        14
 #define     LOGICOP_SET                                       15
    uint32_t                                     LogicOpFunction;
-   uint32_t                                     AlphaTestEnable;
+   bool                                         AlphaTestEnable;
 #define     COMPAREFUNCTION_ALWAYS                             0
 #define     COMPAREFUNCTION_NEVER                              1
 #define     COMPAREFUNCTION_LESS                               2
@@ -7126,20 +7323,20 @@ struct GEN75_BLEND_STATE {
 #define     COMPAREFUNCTION_NOTEQUAL                           6
 #define     COMPAREFUNCTION_GEQUAL                             7
    uint32_t                                     AlphaTestFunction;
-   uint32_t                                     ColorDitherEnable;
+   bool                                         ColorDitherEnable;
    uint32_t                                     XDitherOffset;
    uint32_t                                     YDitherOffset;
 #define     COLORCLAMP_UNORM                                   0
 #define     COLORCLAMP_SNORM                                   1
 #define     COLORCLAMP_RTFORMAT                                2
    uint32_t                                     ColorClampRange;
-   uint32_t                                     PreBlendColorClampEnable;
-   uint32_t                                     PostBlendColorClampEnable;
+   bool                                         PreBlendColorClampEnable;
+   bool                                         PostBlendColorClampEnable;
 };
 
 static inline void
 GEN75_BLEND_STATE_pack(__gen_user_data *data, void * restrict dst,
-                     const struct GEN75_BLEND_STATE * restrict values)
+                       const struct GEN75_BLEND_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -7185,7 +7382,7 @@ struct GEN75_CC_VIEWPORT {
 
 static inline void
 GEN75_CC_VIEWPORT_pack(__gen_user_data *data, void * restrict dst,
-                     const struct GEN75_CC_VIEWPORT * restrict values)
+                       const struct GEN75_CC_VIEWPORT * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -7220,7 +7417,7 @@ struct GEN75_COLOR_CALC_STATE {
 
 static inline void
 GEN75_COLOR_CALC_STATE_pack(__gen_user_data *data, void * restrict dst,
-                          const struct GEN75_COLOR_CALC_STATE * restrict values)
+                            const struct GEN75_COLOR_CALC_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -7257,7 +7454,7 @@ GEN75_COLOR_CALC_STATE_pack(__gen_user_data *data, void * restrict dst,
 #define GEN75_DEPTH_STENCIL_STATE_length 0x00000003
 
 struct GEN75_DEPTH_STENCIL_STATE {
-   uint32_t                                     StencilTestEnable;
+   bool                                         StencilTestEnable;
 #define     COMPAREFUNCTION_ALWAYS                             0
 #define     COMPAREFUNCTION_NEVER                              1
 #define     COMPAREFUNCTION_LESS                               2
@@ -7278,8 +7475,8 @@ struct GEN75_DEPTH_STENCIL_STATE {
    uint32_t                                     StencilFailOp;
    uint32_t                                     StencilPassDepthFailOp;
    uint32_t                                     StencilPassDepthPassOp;
-   uint32_t                                     StencilBufferWriteEnable;
-   uint32_t                                     DoubleSidedStencilEnable;
+   bool                                         StencilBufferWriteEnable;
+   bool                                         DoubleSidedStencilEnable;
 #define     COMPAREFUNCTION_ALWAYS                             0
 #define     COMPAREFUNCTION_NEVER                              1
 #define     COMPAREFUNCTION_LESS                               2
@@ -7304,7 +7501,7 @@ struct GEN75_DEPTH_STENCIL_STATE {
    uint32_t                                     StencilWriteMask;
    uint32_t                                     BackfaceStencilTestMask;
    uint32_t                                     BackfaceStencilWriteMask;
-   uint32_t                                     DepthTestEnable;
+   bool                                         DepthTestEnable;
 #define     COMPAREFUNCTION_ALWAYS                             0
 #define     COMPAREFUNCTION_NEVER                              1
 #define     COMPAREFUNCTION_LESS                               2
@@ -7314,12 +7511,12 @@ struct GEN75_DEPTH_STENCIL_STATE {
 #define     COMPAREFUNCTION_NOTEQUAL                           6
 #define     COMPAREFUNCTION_GEQUAL                             7
    uint32_t                                     DepthTestFunction;
-   uint32_t                                     DepthBufferWriteEnable;
+   bool                                         DepthBufferWriteEnable;
 };
 
 static inline void
 GEN75_DEPTH_STENCIL_STATE_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_DEPTH_STENCIL_STATE * restrict values)
+                               const struct GEN75_DEPTH_STENCIL_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -7352,38 +7549,6 @@ GEN75_DEPTH_STENCIL_STATE_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_MEMORY_OBJECT_CONTROL_STATE_length 0x00000001
-
-#define GEN75_VEB_DI_IECP_COMMAND_SURFACE_CONTROL_BITS_length 0x00000001
-
-struct GEN75_VEB_DI_IECP_COMMAND_SURFACE_CONTROL_BITS {
-#define     Highestpriority                                    0
-#define     Secondhighestpriority                              1
-#define     Thirdhighestpriority                               2
-#define     Lowestpriority                                     3
-   uint32_t                                     ArbitrationPriorityControl;
-#define     PTE                                                0
-#define     UC                                                 1
-#define     LLCeLLCWBcacheable                                 2
-#define     eLLCWBcacheable                                    3
-   uint32_t                                     LLCeLLCCacheabilityControlLLCCC;
-   uint32_t                                     L3CacheabilityControlL3CC;
-};
-
-static inline void
-GEN75_VEB_DI_IECP_COMMAND_SURFACE_CONTROL_BITS_pack(__gen_user_data *data, void * restrict dst,
-                                                  const struct GEN75_VEB_DI_IECP_COMMAND_SURFACE_CONTROL_BITS * restrict values)
-{
-   uint32_t *dw = (uint32_t * restrict) dst;
-
-   dw[0] =
-      __gen_field(values->ArbitrationPriorityControl, 4, 5) |
-      __gen_field(values->LLCeLLCCacheabilityControlLLCCC, 1, 2) |
-      __gen_field(values->L3CacheabilityControlL3CC, 0, 0) |
-      0;
-
-}
-
 #define GEN75_INTERFACE_DESCRIPTOR_DATA_length 0x00000008
 
 struct GEN75_INTERFACE_DESCRIPTOR_DATA {
@@ -7397,9 +7562,9 @@ struct GEN75_INTERFACE_DESCRIPTOR_DATA {
 #define     IEEE754                                            0
 #define     Alternate                                          1
    uint32_t                                     FloatingPointMode;
-   uint32_t                                     IllegalOpcodeExceptionEnable;
-   uint32_t                                     MaskStackExceptionEnable;
-   uint32_t                                     SoftwareExceptionEnable;
+   bool                                         IllegalOpcodeExceptionEnable;
+   bool                                         MaskStackExceptionEnable;
+   bool                                         SoftwareExceptionEnable;
    uint32_t                                     SamplerStatePointer;
 #define     Nosamplersused                                     0
 #define     Between1and4samplersused                           1
@@ -7415,7 +7580,7 @@ struct GEN75_INTERFACE_DESCRIPTOR_DATA {
 #define     RD                                                 2
 #define     RTZ                                                3
    uint32_t                                     RoundingMode;
-   uint32_t                                     BarrierEnable;
+   bool                                         BarrierEnable;
    uint32_t                                     SharedLocalMemorySize;
    uint32_t                                     NumberofThreadsinGPGPUThreadGroup;
    uint32_t                                     CrossThreadConstantDataReadLength;
@@ -7423,7 +7588,7 @@ struct GEN75_INTERFACE_DESCRIPTOR_DATA {
 
 static inline void
 GEN75_INTERFACE_DESCRIPTOR_DATA_pack(__gen_user_data *data, void * restrict dst,
-                                   const struct GEN75_INTERFACE_DESCRIPTOR_DATA * restrict values)
+                                     const struct GEN75_INTERFACE_DESCRIPTOR_DATA * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -7470,8 +7635,6 @@ GEN75_INTERFACE_DESCRIPTOR_DATA_pack(__gen_user_data *data, void * restrict dst,
 
 }
 
-#define GEN75_PALETTE_ENTRY_length 0x00000001
-
 #define GEN75_BINDING_TABLE_STATE_length 0x00000001
 
 struct GEN75_BINDING_TABLE_STATE {
@@ -7480,7 +7643,7 @@ struct GEN75_BINDING_TABLE_STATE {
 
 static inline void
 GEN75_BINDING_TABLE_STATE_pack(__gen_user_data *data, void * restrict dst,
-                             const struct GEN75_BINDING_TABLE_STATE * restrict values)
+                               const struct GEN75_BINDING_TABLE_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -7501,8 +7664,10 @@ struct GEN75_RENDER_SURFACE_STATE {
 #define     SURFTYPE_STRBUF                                    5
 #define     SURFTYPE_NULL                                      7
    uint32_t                                     SurfaceType;
-   uint32_t                                     SurfaceArray;
+   bool                                         SurfaceArray;
    uint32_t                                     SurfaceFormat;
+#define     VALIGN_2                                           0
+#define     VALIGN_4                                           1
    uint32_t                                     SurfaceVerticalAlignment;
 #define     HALIGN_4                                           0
 #define     HALIGN_8                                           1
@@ -7551,9 +7716,8 @@ struct GEN75_RENDER_SURFACE_STATE {
    __gen_address_type                           MCSBaseAddress;
    uint32_t                                     MCSSurfacePitch;
    __gen_address_type                           AppendCounterAddress;
-   uint32_t                                     AppendCounterEnable;
-   uint32_t                                     MCSEnable;
-   uint32_t                                     ReservedMBZ;
+   bool                                         AppendCounterEnable;
+   bool                                         MCSEnable;
    uint32_t                                     XOffsetforUVPlane;
    uint32_t                                     YOffsetforUVPlane;
 #define     SCS_ZERO                                           0
@@ -7571,7 +7735,7 @@ struct GEN75_RENDER_SURFACE_STATE {
 
 static inline void
 GEN75_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
-                              const struct GEN75_RENDER_SURFACE_STATE * restrict values)
+                                const struct GEN75_RENDER_SURFACE_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -7632,7 +7796,6 @@ GEN75_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->MCSSurfacePitch, 3, 11) |
       __gen_field(values->AppendCounterEnable, 1, 1) |
       __gen_field(values->MCSEnable, 0, 0) |
-      __gen_field(values->ReservedMBZ, 30, 31) |
       __gen_field(values->XOffsetforUVPlane, 16, 29) |
       __gen_field(values->YOffsetforUVPlane, 0, 13) |
       0;
@@ -7652,28 +7815,155 @@ GEN75_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
 
 #define GEN75_SAMPLER_BORDER_COLOR_STATE_length 0x00000014
 
+#define GEN75_BORDER_COLOR_UINT32_SINT32_length 0x00000004
+
+struct GEN75_BORDER_COLOR_UINT32_SINT32 {
+   uint32_t                                     BorderColorRedui32integerunclamp;
+   uint32_t                                     BorderColorRedsi32integerunclamp;
+   uint32_t                                     BorderColorGreenui32integerunclamp;
+   uint32_t                                     BorderColorGreensi32integerunclamp;
+   uint32_t                                     BorderColorBlueui32integerunclamp;
+   uint32_t                                     BorderColorBluesi32integerunclamp;
+   uint32_t                                     BorderColorGreenui32integerunclamp0;
+   uint32_t                                     BorderColorGreensi32integerunclamp0;
+   uint32_t                                     BorderColorAlphaui32integerunclamp;
+   uint32_t                                     BorderColorAlphasi32integerunclamp;
+};
+
+static inline void
+GEN75_BORDER_COLOR_UINT32_SINT32_pack(__gen_user_data *data, void * restrict dst,
+                                      const struct GEN75_BORDER_COLOR_UINT32_SINT32 * restrict values)
+{
+   uint32_t *dw = (uint32_t * restrict) dst;
+
+   dw[0] =
+      __gen_field(values->BorderColorRedui32integerunclamp, 0, 31) |
+      __gen_field(values->BorderColorRedsi32integerunclamp, 0, 31) |
+      0;
+
+   dw[1] =
+      __gen_field(values->BorderColorGreenui32integerunclamp, 0, 31) |
+      __gen_field(values->BorderColorGreensi32integerunclamp, 0, 31) |
+      0;
+
+   dw[2] =
+      __gen_field(values->BorderColorBlueui32integerunclamp, 0, 31) |
+      __gen_field(values->BorderColorBluesi32integerunclamp, 0, 31) |
+      __gen_field(values->BorderColorGreenui32integerunclamp, 0, 31) |
+      __gen_field(values->BorderColorGreensi32integerunclamp, 0, 31) |
+      0;
+
+   dw[3] =
+      __gen_field(values->BorderColorAlphaui32integerunclamp, 0, 31) |
+      __gen_field(values->BorderColorAlphasi32integerunclamp, 0, 31) |
+      0;
+
+}
+
+#define GEN75_BORDER_COLOR_UINT16_SINT16_length 0x00000004
+
+struct GEN75_BORDER_COLOR_UINT16_SINT16 {
+   uint32_t                                     BorderColorGreenclamptouint16;
+   uint32_t                                     BorderColorGreenclamptosint16;
+   uint32_t                                     BorderColorRedclamptouint16;
+   uint32_t                                     BorderColorRedclamptosint16;
+   uint32_t                                     BorderColorAlphaclamptouint16;
+   uint32_t                                     BorderColorAlphaclamptosint16;
+   uint32_t                                     BorderColorBlueclamptouint16;
+   uint32_t                                     BorderColorBlueclamptosint16;
+};
+
+static inline void
+GEN75_BORDER_COLOR_UINT16_SINT16_pack(__gen_user_data *data, void * restrict dst,
+                                      const struct GEN75_BORDER_COLOR_UINT16_SINT16 * restrict values)
+{
+   uint32_t *dw = (uint32_t * restrict) dst;
+
+   dw[0] =
+      __gen_field(values->BorderColorGreenclamptouint16, 16, 31) |
+      __gen_field(values->BorderColorGreenclamptosint16, 16, 31) |
+      __gen_field(values->BorderColorRedclamptouint16, 0, 15) |
+      __gen_field(values->BorderColorRedclamptosint16, 0, 15) |
+      0;
+
+   dw[1] =
+      0;
+
+   dw[2] =
+      __gen_field(values->BorderColorAlphaclamptouint16, 16, 31) |
+      __gen_field(values->BorderColorAlphaclamptosint16, 16, 31) |
+      __gen_field(values->BorderColorBlueclamptouint16, 0, 15) |
+      __gen_field(values->BorderColorBlueclamptosint16, 0, 15) |
+      0;
+
+   dw[3] =
+      0;
+
+}
+
+#define GEN75_BORDER_COLOR_UINT8_SINT8_length 0x00000004
+
+struct GEN75_BORDER_COLOR_UINT8_SINT8 {
+   uint32_t                                     BorderColorAlphaclamptouint8;
+   uint32_t                                     BorderColorAlphaclamptosint8;
+   uint32_t                                     BorderColorBlueclamptouint8;
+   uint32_t                                     BorderColorBlueclamptosint8;
+   uint32_t                                     BorderColorGreenclamptouint8;
+   uint32_t                                     BorderColorGreenclamptosint8;
+   uint32_t                                     BorderRedAlphaclamptouint8;
+   uint32_t                                     BorderRedAlphaclamptosint8;
+};
+
+static inline void
+GEN75_BORDER_COLOR_UINT8_SINT8_pack(__gen_user_data *data, void * restrict dst,
+                                    const struct GEN75_BORDER_COLOR_UINT8_SINT8 * restrict values)
+{
+   uint32_t *dw = (uint32_t * restrict) dst;
+
+   dw[0] =
+      __gen_field(values->BorderColorAlphaclamptouint8, 24, 31) |
+      __gen_field(values->BorderColorAlphaclamptosint8, 24, 31) |
+      __gen_field(values->BorderColorBlueclamptouint8, 16, 23) |
+      __gen_field(values->BorderColorBlueclamptosint8, 16, 23) |
+      __gen_field(values->BorderColorGreenclamptouint8, 8, 15) |
+      __gen_field(values->BorderColorGreenclamptosint8, 8, 15) |
+      __gen_field(values->BorderRedAlphaclamptouint8, 0, 7) |
+      __gen_field(values->BorderRedAlphaclamptosint8, 0, 7) |
+      0;
+
+   dw[1] =
+      0;
+
+   dw[2] =
+      0;
+
+   dw[3] =
+      0;
+
+}
+
 struct GEN75_SAMPLER_BORDER_COLOR_STATE {
-   uint32_t                                     BorderColorRedDX100GL;
+   float                                        BorderColorRedDX100GL;
    uint32_t                                     BorderColorAlpha;
    uint32_t                                     BorderColorBlue;
    uint32_t                                     BorderColorGreen;
    uint32_t                                     BorderColorRedDX9;
-   uint32_t                                     BorderColorGreen0;
-   uint32_t                                     BorderColorBlue0;
-   uint32_t                                     BorderColorAlpha0;
-   uint64_t                                     BorderColor;
-   uint64_t                                     BorderColor0;
-   uint64_t                                     BorderColor1;
+   float                                        BorderColorGreen0;
+   float                                        BorderColorBlue0;
+   float                                        BorderColorAlpha0;
+   struct GEN75_BORDER_COLOR_UINT32_SINT32      BorderColor;
+   struct GEN75_BORDER_COLOR_UINT16_SINT16      BorderColor0;
+   struct GEN75_BORDER_COLOR_UINT8_SINT8        BorderColor1;
 };
 
 static inline void
 GEN75_SAMPLER_BORDER_COLOR_STATE_pack(__gen_user_data *data, void * restrict dst,
-                                    const struct GEN75_SAMPLER_BORDER_COLOR_STATE * restrict values)
+                                      const struct GEN75_SAMPLER_BORDER_COLOR_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
    dw[0] =
-      __gen_field(values->BorderColorRedDX100GL, 0, 31) |
+      __gen_float(values->BorderColorRedDX100GL) |
       __gen_field(values->BorderColorAlpha, 24, 31) |
       __gen_field(values->BorderColorBlue, 16, 23) |
       __gen_field(values->BorderColorGreen, 8, 15) |
@@ -7681,32 +7971,29 @@ GEN75_SAMPLER_BORDER_COLOR_STATE_pack(__gen_user_data *data, void * restrict dst
       0;
 
    dw[1] =
-      __gen_field(values->BorderColorGreen, 0, 31) |
+      __gen_float(values->BorderColorGreen) |
       0;
 
    dw[2] =
-      __gen_field(values->BorderColorBlue, 0, 31) |
+      __gen_float(values->BorderColorBlue) |
       0;
 
    dw[3] =
-      __gen_field(values->BorderColorAlpha, 0, 31) |
+      __gen_float(values->BorderColorAlpha) |
       0;
 
-   dw[4] =
-      0;
-
-   dw[16] =
-      __gen_field(values->BorderColor, 0, 127) |
-      __gen_field(values->BorderColor, 0, 127) |
-      __gen_field(values->BorderColor, 0, 127) |
-      0;
+   for (uint32_t i = 0, j = 4; i < 12; i += 1, j++) {
+      dw[j] =
+         0;
+   }
 
+   GEN75_BORDER_COLOR_UINT32_SINT32_pack(data, &dw[16], &values->BorderColor);
 }
 
 #define GEN75_SAMPLER_STATE_length 0x00000004
 
 struct GEN75_SAMPLER_STATE {
-   uint32_t                                     SamplerDisable;
+   bool                                         SamplerDisable;
 #define     DX10OGL                                            0
 #define     DX9                                                1
    uint32_t                                     TextureBorderColorMode;
@@ -7727,7 +8014,7 @@ struct GEN75_SAMPLER_STATE {
 #define     MAPFILTER_ANISOTROPIC                              2
 #define     MAPFILTER_MONO                                     6
    uint32_t                                     MinModeFilter;
-   uint32_t                                     TextureLODBias;
+   float                                        TextureLODBias;
 #define     LEGACY                                             0
 #define     EWAApproximation                                   1
    uint32_t                                     AnisotropicAlgorithm;
@@ -7746,7 +8033,7 @@ struct GEN75_SAMPLER_STATE {
 #define     OVERRIDE                                           1
    uint32_t                                     CubeSurfaceControlMode;
    uint32_t                                     BorderColorPointer;
-   uint32_t                                     ChromaKeyEnable;
+   bool                                         ChromaKeyEnable;
    uint32_t                                     ChromaKeyIndex;
 #define     KEYFILTER_KILL_ON_ANY_MATCH                        0
 #define     KEYFILTER_REPLACE_BLACK                            1
@@ -7760,18 +8047,18 @@ struct GEN75_SAMPLER_STATE {
 #define     RATIO141                                           6
 #define     RATIO161                                           7
    uint32_t                                     MaximumAnisotropy;
-   uint32_t                                     RAddressMinFilterRoundingEnable;
-   uint32_t                                     RAddressMagFilterRoundingEnable;
-   uint32_t                                     VAddressMinFilterRoundingEnable;
-   uint32_t                                     VAddressMagFilterRoundingEnable;
-   uint32_t                                     UAddressMinFilterRoundingEnable;
-   uint32_t                                     UAddressMagFilterRoundingEnable;
+   bool                                         RAddressMinFilterRoundingEnable;
+   bool                                         RAddressMagFilterRoundingEnable;
+   bool                                         VAddressMinFilterRoundingEnable;
+   bool                                         VAddressMagFilterRoundingEnable;
+   bool                                         UAddressMinFilterRoundingEnable;
+   bool                                         UAddressMagFilterRoundingEnable;
 #define     FULL                                               0
 #define     TRIQUAL_HIGHMAG_CLAMP_MIPFILTER                    1
 #define     MED                                                2
 #define     LOW                                                3
    uint32_t                                     TrilinearFilterQuality;
-   uint32_t                                     NonnormalizedCoordinateEnable;
+   bool                                         NonnormalizedCoordinateEnable;
    uint32_t                                     TCXAddressControlMode;
    uint32_t                                     TCYAddressControlMode;
    uint32_t                                     TCZAddressControlMode;
@@ -7779,7 +8066,7 @@ struct GEN75_SAMPLER_STATE {
 
 static inline void
 GEN75_SAMPLER_STATE_pack(__gen_user_data *data, void * restrict dst,
-                       const struct GEN75_SAMPLER_STATE * restrict values)
+                         const struct GEN75_SAMPLER_STATE * restrict values)
 {
    uint32_t *dw = (uint32_t * restrict) dst;
 
@@ -7791,7 +8078,7 @@ GEN75_SAMPLER_STATE_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->MipModeFilter, 20, 21) |
       __gen_field(values->MagModeFilter, 17, 19) |
       __gen_field(values->MinModeFilter, 14, 16) |
-      __gen_field(values->TextureLODBias, 1, 13) |
+      __gen_fixed(values->TextureLODBias, 1, 13, true, 8) |
       __gen_field(values->AnisotropicAlgorithm, 0, 0) |
       0;
 
@@ -7836,7 +8123,7 @@ GEN75_SAMPLER_STATE_pack(__gen_user_data *data, void * restrict dst,
 #define     _3DPRIM_QUADLIST                                   7
 #define     _3DPRIM_QUADSTRIP                                  8
 #define     _3DPRIM_LINELIST_ADJ                               9
-#define     _3DPRIM_LISTSTRIP_ADJ                             10
+#define     _3DPRIM_LINESTRIP_ADJ                             10
 #define     _3DPRIM_TRILIST_ADJ                               11
 #define     _3DPRIM_TRISTRIP_ADJ                              12
 #define     _3DPRIM_TRISTRIP_REVERSE                          13