summaryrefslogtreecommitdiffstats
path: root/src/vulkan/gen8_pack.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vulkan/gen8_pack.h')
-rw-r--r--src/vulkan/gen8_pack.h286
1 files changed, 198 insertions, 88 deletions
diff --git a/src/vulkan/gen8_pack.h b/src/vulkan/gen8_pack.h
index 59dbce8d4f6..aeb5dadd020 100644
--- a/src/vulkan/gen8_pack.h
+++ b/src/vulkan/gen8_pack.h
@@ -136,7 +136,7 @@ struct GEN8_3DSTATE_VS {
uint32_t _3DCommandOpcode;
uint32_t _3DCommandSubOpcode;
uint32_t DwordLength;
- uint32_t KernelStartPointer;
+ uint64_t KernelStartPointer;
#define Multiple 0
#define Single 1
uint32_t SingleVertexDispatch;
@@ -159,7 +159,7 @@ struct GEN8_3DSTATE_VS {
uint32_t IllegalOpcodeExceptionEnable;
uint32_t AccessesUAV;
uint32_t SoftwareExceptionEnable;
- uint32_t ScratchSpaceBasePointer;
+ uint64_t ScratchSpaceBasePointer;
uint32_t PerThreadScratchSpace;
uint32_t DispatchGRFStartRegisterForURBData;
uint32_t VertexURBEntryReadLength;
@@ -189,10 +189,13 @@ GEN8_3DSTATE_VS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->DwordLength, 0, 7) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_offset(values->KernelStartPointer, 6, 63) |
0;
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
dw[3] =
__gen_field(values->SingleVertexDispatch, 31, 31) |
__gen_field(values->VectorMaskEnable, 30, 30) |
@@ -205,11 +208,14 @@ GEN8_3DSTATE_VS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->SoftwareExceptionEnable, 7, 7) |
0;
- dw[4] =
+ uint64_t qw4 =
__gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
__gen_field(values->PerThreadScratchSpace, 0, 3) |
0;
+ dw[4] = qw4;
+ dw[5] = qw4 >> 32;
+
dw[6] =
__gen_field(values->DispatchGRFStartRegisterForURBData, 20, 24) |
__gen_field(values->VertexURBEntryReadLength, 11, 16) |
@@ -268,9 +274,12 @@ GEN8_GPGPU_CSR_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw1 =
0;
- dw[1] =
+ uint64_t qw1 =
__gen_combine_address(data, &dw[1], values->GPGPUCSRBaseAddressHigh, dw1);
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
}
#define GEN8_MI_ATOMIC_length 0x00000003
@@ -499,9 +508,12 @@ GEN8_MI_SEMAPHORE_WAIT_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->SemaphoreAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
}
#define GEN8_MI_STORE_REGISTER_MEM_length 0x00000004
@@ -542,9 +554,12 @@ GEN8_MI_STORE_REGISTER_MEM_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->MemoryAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
}
#define GEN8_PIPELINE_SELECT_length 0x00000001
@@ -668,65 +683,74 @@ GEN8_STATE_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw_GeneralStateMemoryObjectControlState;
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_GeneralStateMemoryObjectControlState, &values->GeneralStateMemoryObjectControlState);
uint32_t dw1 =
- /* Struct GeneralStateMemoryObjectControlState (4..10): */
__gen_field(dw_GeneralStateMemoryObjectControlState, 4, 10) |
__gen_field(values->GeneralStateBaseAddressModifyEnable, 0, 0) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_combine_address(data, &dw[1], values->GeneralStateBaseAddress, dw1);
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
uint32_t dw_StatelessDataPortAccessMemoryObjectControlState;
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_StatelessDataPortAccessMemoryObjectControlState, &values->StatelessDataPortAccessMemoryObjectControlState);
dw[3] =
- /* Struct StatelessDataPortAccessMemoryObjectControlState (16..22): */
__gen_field(dw_StatelessDataPortAccessMemoryObjectControlState, 16, 22) |
0;
uint32_t dw_SurfaceStateMemoryObjectControlState;
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SurfaceStateMemoryObjectControlState, &values->SurfaceStateMemoryObjectControlState);
uint32_t dw4 =
- /* Struct SurfaceStateMemoryObjectControlState (4..10): */
__gen_field(dw_SurfaceStateMemoryObjectControlState, 4, 10) |
__gen_field(values->SurfaceStateBaseAddressModifyEnable, 0, 0) |
0;
- dw[4] =
+ uint64_t qw4 =
__gen_combine_address(data, &dw[4], values->SurfaceStateBaseAddress, dw4);
+ dw[4] = qw4;
+ dw[5] = qw4 >> 32;
+
uint32_t dw_DynamicStateMemoryObjectControlState;
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_DynamicStateMemoryObjectControlState, &values->DynamicStateMemoryObjectControlState);
uint32_t dw6 =
- /* Struct DynamicStateMemoryObjectControlState (4..10): */
__gen_field(dw_DynamicStateMemoryObjectControlState, 4, 10) |
__gen_field(values->DynamicStateBaseAddressModifyEnable, 0, 0) |
0;
- dw[6] =
+ uint64_t qw6 =
__gen_combine_address(data, &dw[6], values->DynamicStateBaseAddress, dw6);
+ dw[6] = qw6;
+ dw[7] = qw6 >> 32;
+
uint32_t dw_IndirectObjectMemoryObjectControlState;
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_IndirectObjectMemoryObjectControlState, &values->IndirectObjectMemoryObjectControlState);
uint32_t dw8 =
- /* Struct IndirectObjectMemoryObjectControlState (4..10): */
__gen_field(dw_IndirectObjectMemoryObjectControlState, 4, 10) |
__gen_field(values->IndirectObjectBaseAddressModifyEnable, 0, 0) |
0;
- dw[8] =
+ uint64_t qw8 =
__gen_combine_address(data, &dw[8], values->IndirectObjectBaseAddress, dw8);
+ dw[8] = qw8;
+ dw[9] = qw8 >> 32;
+
uint32_t dw_InstructionMemoryObjectControlState;
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_InstructionMemoryObjectControlState, &values->InstructionMemoryObjectControlState);
uint32_t dw10 =
- /* Struct InstructionMemoryObjectControlState (4..10): */
__gen_field(dw_InstructionMemoryObjectControlState, 4, 10) |
__gen_field(values->InstructionBaseAddressModifyEnable, 0, 0) |
0;
- dw[10] =
+ uint64_t qw10 =
__gen_combine_address(data, &dw[10], values->InstructionBaseAddress, dw10);
+ dw[10] = qw10;
+ dw[11] = qw10 >> 32;
+
dw[12] =
__gen_field(values->GeneralStateBufferSize, 12, 31) |
__gen_field(values->GeneralStateBufferSizeModifyEnable, 0, 0) |
@@ -806,7 +830,7 @@ struct GEN8_STATE_SIP {
uint32_t _3DCommandOpcode;
uint32_t _3DCommandSubOpcode;
uint32_t DwordLength;
- uint32_t SystemInstructionPointer;
+ uint64_t SystemInstructionPointer;
};
static inline void
@@ -823,10 +847,13 @@ GEN8_STATE_SIP_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->DwordLength, 0, 7) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_offset(values->SystemInstructionPointer, 4, 63) |
0;
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
}
#define GEN8_SWTESS_BASE_ADDRESS_length 0x00000002
@@ -866,7 +893,6 @@ GEN8_SWTESS_BASE_ADDRESS_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw_SWTessellationMemoryObjectControlState;
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SWTessellationMemoryObjectControlState, &values->SWTessellationMemoryObjectControlState);
uint32_t dw1 =
- /* Struct SWTessellationMemoryObjectControlState (8..11): */
__gen_field(dw_SWTessellationMemoryObjectControlState, 8, 11) |
0;
@@ -1474,13 +1500,15 @@ GEN8_3DSTATE_BINDING_TABLE_POOL_ALLOC_pack(__gen_user_data *data, void * restric
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_SurfaceObjectControlState, &values->SurfaceObjectControlState);
uint32_t dw1 =
__gen_field(values->BindingTablePoolEnable, 11, 11) |
- /* Struct SurfaceObjectControlState (0..6): */
__gen_field(dw_SurfaceObjectControlState, 0, 6) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_combine_address(data, &dw[1], values->BindingTablePoolBaseAddress, dw1);
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
dw[3] =
__gen_field(values->BindingTablePoolBufferSize, 12, 31) |
0;
@@ -1795,27 +1823,39 @@ GEN8_3DSTATE_CONSTANT_BODY_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->PointerToConstantBuffer0, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
uint32_t dw4 =
0;
- dw[4] =
+ uint64_t qw4 =
__gen_combine_address(data, &dw[4], values->PointerToConstantBuffer1, dw4);
+ dw[4] = qw4;
+ dw[5] = qw4 >> 32;
+
uint32_t dw6 =
0;
- dw[6] =
+ uint64_t qw6 =
__gen_combine_address(data, &dw[6], values->PointerToConstantBuffer2, dw6);
+ dw[6] = qw6;
+ dw[7] = qw6 >> 32;
+
uint32_t dw8 =
0;
- dw[8] =
+ uint64_t qw8 =
__gen_combine_address(data, &dw[8], values->PointerToConstantBuffer3, dw8);
+ dw[8] = qw8;
+ dw[9] = qw8 >> 32;
+
}
struct GEN8_3DSTATE_CONSTANT_DS {
@@ -1841,7 +1881,6 @@ GEN8_3DSTATE_CONSTANT_DS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->CommandSubType, 27, 28) |
__gen_field(values->_3DCommandOpcode, 24, 26) |
__gen_field(values->_3DCommandSubOpcode, 16, 23) |
- /* Struct ConstantBufferObjectControlState (8..14): */
__gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
__gen_field(values->DwordLength, 0, 7) |
0;
@@ -1881,7 +1920,6 @@ GEN8_3DSTATE_CONSTANT_GS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->CommandSubType, 27, 28) |
__gen_field(values->_3DCommandOpcode, 24, 26) |
__gen_field(values->_3DCommandSubOpcode, 16, 23) |
- /* Struct ConstantBufferObjectControlState (8..14): */
__gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
__gen_field(values->DwordLength, 0, 7) |
0;
@@ -1921,7 +1959,6 @@ GEN8_3DSTATE_CONSTANT_HS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->CommandSubType, 27, 28) |
__gen_field(values->_3DCommandOpcode, 24, 26) |
__gen_field(values->_3DCommandSubOpcode, 16, 23) |
- /* Struct ConstantBufferObjectControlState (8..14): */
__gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
__gen_field(values->DwordLength, 0, 7) |
0;
@@ -1961,7 +1998,6 @@ GEN8_3DSTATE_CONSTANT_PS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->CommandSubType, 27, 28) |
__gen_field(values->_3DCommandOpcode, 24, 26) |
__gen_field(values->_3DCommandSubOpcode, 16, 23) |
- /* Struct ConstantBufferObjectControlState (8..14): */
__gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
__gen_field(values->DwordLength, 0, 7) |
0;
@@ -2001,7 +2037,6 @@ GEN8_3DSTATE_CONSTANT_VS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->CommandSubType, 27, 28) |
__gen_field(values->_3DCommandOpcode, 24, 26) |
__gen_field(values->_3DCommandSubOpcode, 16, 23) |
- /* Struct ConstantBufferObjectControlState (8..14): */
__gen_field(dw_ConstantBufferObjectControlState, 8, 14) |
__gen_field(values->DwordLength, 0, 7) |
0;
@@ -2075,9 +2110,12 @@ GEN8_3DSTATE_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->SurfaceBaseAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
dw[4] =
__gen_field(values->Height, 18, 31) |
__gen_field(values->Width, 4, 17) |
@@ -2089,7 +2127,6 @@ GEN8_3DSTATE_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
dw[5] =
__gen_field(values->Depth, 21, 31) |
__gen_field(values->MinimumArrayElement, 10, 20) |
- /* Struct DepthBufferObjectControlState (0..6): */
__gen_field(dw_DepthBufferObjectControlState, 0, 6) |
0;
@@ -2177,7 +2214,7 @@ struct GEN8_3DSTATE_DS {
uint32_t _3DCommandOpcode;
uint32_t _3DCommandSubOpcode;
uint32_t DwordLength;
- uint32_t KernelStartPointer;
+ uint64_t KernelStartPointer;
#define Multiple 0
#define Single 1
uint32_t SingleDomainPointDispatch;
@@ -2200,7 +2237,7 @@ struct GEN8_3DSTATE_DS {
uint32_t AccessesUAV;
uint32_t IllegalOpcodeExceptionEnable;
uint32_t SoftwareExceptionEnable;
- uint32_t ScratchSpaceBasePointer;
+ uint64_t ScratchSpaceBasePointer;
uint32_t PerThreadScratchSpace;
uint32_t DispatchGRFStartRegisterForURBData;
uint32_t PatchURBEntryReadLength;
@@ -2231,10 +2268,13 @@ GEN8_3DSTATE_DS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->DwordLength, 0, 7) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_offset(values->KernelStartPointer, 6, 63) |
0;
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
dw[3] =
__gen_field(values->SingleDomainPointDispatch, 31, 31) |
__gen_field(values->VectorMaskEnable, 30, 30) |
@@ -2247,11 +2287,14 @@ GEN8_3DSTATE_DS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->SoftwareExceptionEnable, 7, 7) |
0;
- dw[4] =
+ uint64_t qw4 =
__gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
__gen_field(values->PerThreadScratchSpace, 0, 3) |
0;
+ dw[4] = qw4;
+ dw[5] = qw4 >> 32;
+
dw[6] =
__gen_field(values->DispatchGRFStartRegisterForURBData, 20, 24) |
__gen_field(values->PatchURBEntryReadLength, 11, 17) |
@@ -2574,13 +2617,15 @@ GEN8_3DSTATE_GATHER_POOL_ALLOC_pack(__gen_user_data *data, void * restrict dst,
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
uint32_t dw1 =
__gen_field(values->GatherPoolEnable, 11, 11) |
- /* Struct MemoryObjectControlState (0..6): */
__gen_field(dw_MemoryObjectControlState, 0, 6) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_combine_address(data, &dw[1], values->GatherPoolBaseAddress, dw1);
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
dw[3] =
__gen_field(values->GatherPoolBufferSize, 12, 31) |
0;
@@ -2602,7 +2647,7 @@ struct GEN8_3DSTATE_GS {
uint32_t _3DCommandOpcode;
uint32_t _3DCommandSubOpcode;
uint32_t DwordLength;
- uint32_t KernelStartPointer;
+ uint64_t KernelStartPointer;
uint32_t SingleProgramFlow;
#define Dmask 0
#define Vmask 1
@@ -2625,7 +2670,7 @@ struct GEN8_3DSTATE_GS {
uint32_t MaskStackExceptionEnable;
uint32_t SoftwareExceptionEnable;
uint32_t ExpectedVertexCount;
- uint32_t ScratchSpaceBasePointer;
+ uint64_t ScratchSpaceBasePointer;
uint32_t PerThreadScratchSpace;
uint32_t OutputVertexSize;
uint32_t OutputTopology;
@@ -2676,10 +2721,13 @@ GEN8_3DSTATE_GS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->DwordLength, 0, 7) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_offset(values->KernelStartPointer, 6, 63) |
0;
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
dw[3] =
__gen_field(values->SingleProgramFlow, 31, 31) |
__gen_field(values->VectorMaskEnable, 30, 30) |
@@ -2694,11 +2742,14 @@ GEN8_3DSTATE_GS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->ExpectedVertexCount, 0, 5) |
0;
- dw[4] =
+ uint64_t qw4 =
__gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
__gen_field(values->PerThreadScratchSpace, 0, 3) |
0;
+ dw[4] = qw4;
+ dw[5] = qw4 >> 32;
+
dw[6] =
__gen_field(values->OutputVertexSize, 23, 28) |
__gen_field(values->OutputTopology, 17, 22) |
@@ -2776,7 +2827,6 @@ GEN8_3DSTATE_HIER_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw_HierarchicalDepthBufferObjectControlState;
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_HierarchicalDepthBufferObjectControlState, &values->HierarchicalDepthBufferObjectControlState);
dw[1] =
- /* Struct HierarchicalDepthBufferObjectControlState (25..31): */
__gen_field(dw_HierarchicalDepthBufferObjectControlState, 25, 31) |
__gen_field(values->SurfacePitch, 0, 16) |
0;
@@ -2784,9 +2834,12 @@ GEN8_3DSTATE_HIER_DEPTH_BUFFER_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->SurfaceBaseAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
dw[4] =
__gen_field(values->SurfaceQPitch, 0, 14) |
0;
@@ -2827,8 +2880,8 @@ struct GEN8_3DSTATE_HS {
uint32_t StatisticsEnable;
uint32_t MaximumNumberofThreads;
uint32_t InstanceCount;
- uint32_t KernelStartPointer;
- uint32_t ScratchSpaceBasePointer;
+ uint64_t KernelStartPointer;
+ uint64_t ScratchSpaceBasePointer;
uint32_t PerThreadScratchSpace;
uint32_t SingleProgramFlow;
#define Dmask 0
@@ -2871,15 +2924,21 @@ GEN8_3DSTATE_HS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->InstanceCount, 0, 3) |
0;
- dw[3] =
+ uint64_t qw3 =
__gen_offset(values->KernelStartPointer, 6, 63) |
0;
- dw[5] =
+ dw[3] = qw3;
+ dw[4] = qw3 >> 32;
+
+ uint64_t qw5 =
__gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
__gen_field(values->PerThreadScratchSpace, 0, 3) |
0;
+ dw[5] = qw5;
+ dw[6] = qw5 >> 32;
+
dw[7] =
__gen_field(values->SingleProgramFlow, 27, 27) |
__gen_field(values->VectorMaskEnable, 26, 26) |
@@ -2937,16 +2996,18 @@ GEN8_3DSTATE_INDEX_BUFFER_pack(__gen_user_data *data, void * restrict dst,
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
dw[1] =
__gen_field(values->IndexFormat, 8, 9) |
- /* Struct MemoryObjectControlState (0..6): */
__gen_field(dw_MemoryObjectControlState, 0, 6) |
0;
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->BufferStartingAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
dw[4] =
__gen_field(values->BufferSize, 0, 31) |
0;
@@ -3181,7 +3242,7 @@ struct GEN8_3DSTATE_PS {
uint32_t _3DCommandOpcode;
uint32_t _3DCommandSubOpcode;
uint32_t DwordLength;
- uint32_t KernelStartPointer0;
+ uint64_t KernelStartPointer0;
#define Multiple 0
#define Single 1
uint32_t SingleProgramFlow;
@@ -3212,7 +3273,7 @@ struct GEN8_3DSTATE_PS {
uint32_t IllegalOpcodeExceptionEnable;
uint32_t MaskStackExceptionEnable;
uint32_t SoftwareExceptionEnable;
- uint32_t ScratchSpaceBasePointer;
+ uint64_t ScratchSpaceBasePointer;
uint32_t PerThreadScratchSpace;
uint32_t MaximumNumberofThreadsPerPSD;
uint32_t PushConstantEnable;
@@ -3228,8 +3289,8 @@ struct GEN8_3DSTATE_PS {
uint32_t DispatchGRFStartRegisterForConstantSetupData0;
uint32_t DispatchGRFStartRegisterForConstantSetupData1;
uint32_t DispatchGRFStartRegisterForConstantSetupData2;
- uint32_t KernelStartPointer1;
- uint32_t KernelStartPointer2;
+ uint64_t KernelStartPointer1;
+ uint64_t KernelStartPointer2;
};
static inline void
@@ -3246,10 +3307,13 @@ GEN8_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->DwordLength, 0, 7) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_offset(values->KernelStartPointer0, 6, 63) |
0;
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
dw[3] =
__gen_field(values->SingleProgramFlow, 31, 31) |
__gen_field(values->VectorMaskEnable, 30, 30) |
@@ -3264,11 +3328,14 @@ GEN8_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->SoftwareExceptionEnable, 7, 7) |
0;
- dw[4] =
+ uint64_t qw4 =
__gen_offset(values->ScratchSpaceBasePointer, 10, 63) |
__gen_field(values->PerThreadScratchSpace, 0, 3) |
0;
+ dw[4] = qw4;
+ dw[5] = qw4 >> 32;
+
dw[6] =
__gen_field(values->MaximumNumberofThreadsPerPSD, 23, 31) |
__gen_field(values->PushConstantEnable, 11, 11) |
@@ -3286,14 +3353,20 @@ GEN8_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->DispatchGRFStartRegisterForConstantSetupData2, 0, 6) |
0;
- dw[8] =
+ uint64_t qw8 =
__gen_offset(values->KernelStartPointer1, 6, 63) |
0;
- dw[10] =
+ dw[8] = qw8;
+ dw[9] = qw8 >> 32;
+
+ uint64_t qw10 =
__gen_offset(values->KernelStartPointer2, 6, 63) |
0;
+ dw[10] = qw10;
+ dw[11] = qw10 >> 32;
+
}
#define GEN8_3DSTATE_PS_BLEND_length 0x00000002
@@ -4313,12 +4386,10 @@ GEN8_3DSTATE_SBE_SWIZ_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw_Attribute;
GEN8_SF_OUTPUT_ATTRIBUTE_DETAIL_pack(data, &dw_Attribute, &values->Attribute);
dw[1] =
- /* Struct Attribute (0..15): */
__gen_field(dw_Attribute, 0, 15) |
0;
- GEN8_SF_OUTPUT_ATTRIBUTE_DETAIL_pack(data, &dw[1], &values->Attribute);
- dw[9] =
+ uint64_t qw9 =
__gen_field(values->Attribute15WrapShortestEnables, 60, 63) |
__gen_field(values->Attribute14WrapShortestEnables, 56, 59) |
__gen_field(values->Attribute13WrapShortestEnables, 52, 55) |
@@ -4337,6 +4408,9 @@ GEN8_3DSTATE_SBE_SWIZ_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->Attribute00WrapShortestEnables, 0, 3) |
0;
+ dw[9] = qw9;
+ dw[10] = qw9 >> 32;
+
}
#define GEN8_3DSTATE_SCISSOR_STATE_POINTERS_length 0x00000002
@@ -4499,7 +4573,6 @@ GEN8_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
dw[1] =
__gen_field(values->SOBufferEnable, 31, 31) |
__gen_field(values->SOBufferIndex, 29, 30) |
- /* Struct SOBufferObjectControlState (22..28): */
__gen_field(dw_SOBufferObjectControlState, 22, 28) |
__gen_field(values->StreamOffsetWriteEnable, 21, 21) |
__gen_field(values->StreamOutputBufferOffsetAddressEnable, 20, 20) |
@@ -4508,9 +4581,12 @@ GEN8_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->SurfaceBaseAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
dw[4] =
__gen_field(values->SurfaceSize, 0, 29) |
0;
@@ -4518,9 +4594,12 @@ GEN8_3DSTATE_SO_BUFFER_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw5 =
0;
- dw[5] =
+ uint64_t qw5 =
__gen_combine_address(data, &dw[5], values->StreamOutputBufferOffsetAddress, dw5);
+ dw[5] = qw5;
+ dw[6] = qw5 >> 32;
+
dw[7] =
__gen_field(values->StreamOffset, 0, 31) |
0;
@@ -4577,18 +4656,16 @@ GEN8_SO_DECL_ENTRY_pack(__gen_user_data *data, void * restrict dst,
GEN8_SO_DECL_pack(data, &dw_Stream1Decl, &values->Stream1Decl);
uint32_t dw_Stream0Decl;
GEN8_SO_DECL_pack(data, &dw_Stream0Decl, &values->Stream0Decl);
- dw[0] =
- /* Struct Stream3Decl (48..63): */
+ uint64_t qw0 =
__gen_field(dw_Stream3Decl, 48, 63) |
- /* Struct Stream2Decl (32..47): */
__gen_field(dw_Stream2Decl, 32, 47) |
- /* Struct Stream1Decl (16..31): */
__gen_field(dw_Stream1Decl, 16, 31) |
- /* Struct Stream0Decl (0..15): */
__gen_field(dw_Stream0Decl, 0, 15) |
0;
- GEN8_SO_DECL_pack(data, &dw[0], &values->Stream0Decl);
+ dw[0] = qw0;
+ dw[1] = qw0 >> 32;
+
}
struct GEN8_3DSTATE_SO_DECL_LIST {
@@ -4679,7 +4756,6 @@ GEN8_3DSTATE_STENCIL_BUFFER_pack(__gen_user_data *data, void * restrict dst,
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_StencilBufferObjectControlState, &values->StencilBufferObjectControlState);
dw[1] =
__gen_field(values->StencilBufferEnable, 31, 31) |
- /* Struct StencilBufferObjectControlState (22..28): */
__gen_field(dw_StencilBufferObjectControlState, 22, 28) |
__gen_field(values->SurfacePitch, 0, 16) |
0;
@@ -4687,9 +4763,12 @@ GEN8_3DSTATE_STENCIL_BUFFER_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->SurfaceBaseAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
dw[4] =
__gen_field(values->SurfaceQPitch, 0, 14) |
0;
@@ -5004,7 +5083,6 @@ GEN8_VERTEX_BUFFER_STATE_pack(__gen_user_data *data, void * restrict dst,
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
dw[0] =
__gen_field(values->VertexBufferIndex, 26, 31) |
- /* Struct MemoryObjectControlState (16..22): */
__gen_field(dw_MemoryObjectControlState, 16, 22) |
__gen_field(values->AddressModifyEnable, 14, 14) |
__gen_field(values->NullVertexBuffer, 13, 13) |
@@ -5014,9 +5092,12 @@ GEN8_VERTEX_BUFFER_STATE_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw1 =
0;
- dw[1] =
+ uint64_t qw1 =
__gen_combine_address(data, &dw[1], values->BufferStartingAddress, dw1);
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
dw[3] =
__gen_field(values->BufferSize, 0, 31) |
0;
@@ -6666,15 +6747,21 @@ GEN8_MI_COPY_MEM_MEM_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw1 =
0;
- dw[1] =
+ uint64_t qw1 =
__gen_combine_address(data, &dw[1], values->DestinationMemoryAddress, dw1);
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
uint32_t dw3 =
0;
- dw[3] =
+ uint64_t qw3 =
__gen_combine_address(data, &dw[3], values->SourceMemoryAddress, dw3);
+ dw[3] = qw3;
+ dw[4] = qw3 >> 32;
+
}
#define GEN8_MI_LOAD_REGISTER_IMM_length 0x00000003
@@ -6754,9 +6841,12 @@ GEN8_MI_LOAD_REGISTER_MEM_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->MemoryAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
}
#define GEN8_MI_LOAD_SCAN_LINES_EXCL_length 0x00000002
@@ -6876,9 +6966,12 @@ GEN8_MI_LOAD_URB_MEM_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->MemoryAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
}
#define GEN8_MI_MATH_length_bias 0x00000002
@@ -7097,9 +7190,12 @@ GEN8_MI_RS_STORE_DATA_IMM_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->CoreModeEnable, 0, 0) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_combine_address(data, &dw[1], values->DestinationAddress, dw1);
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
dw[3] =
__gen_field(values->DataDWord0, 0, 31) |
0;
@@ -7224,9 +7320,12 @@ GEN8_MI_STORE_DATA_IMM_pack(__gen_user_data *data, void * restrict dst,
__gen_field(values->CoreModeEnable, 0, 0) |
0;
- dw[1] =
+ uint64_t qw1 =
__gen_combine_address(data, &dw[1], values->Address, dw1);
+ dw[1] = qw1;
+ dw[2] = qw1 >> 32;
+
dw[3] =
__gen_field(values->DataDWord0, 0, 31) |
0;
@@ -7315,9 +7414,12 @@ GEN8_MI_STORE_URB_MEM_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw2 =
0;
- dw[2] =
+ uint64_t qw2 =
__gen_combine_address(data, &dw[2], values->MemoryAddress, dw2);
+ dw[2] = qw2;
+ dw[3] = qw2 >> 32;
+
}
#define GEN8_MI_SUSPEND_FLUSH_length 0x00000001
@@ -7592,7 +7694,7 @@ struct GEN8_PIPE_CONTROL {
uint32_t DepthCacheFlushEnable;
__gen_address_type Address;
__gen_address_type AddressHigh;
- uint32_t ImmediateData;
+ uint64_t ImmediateData;
};
static inline void
@@ -7645,10 +7747,13 @@ GEN8_PIPE_CONTROL_pack(__gen_user_data *data, void * restrict dst,
dw[3] =
__gen_combine_address(data, &dw[3], values->AddressHigh, dw3);
- dw[4] =
+ uint64_t qw4 =
__gen_field(values->ImmediateData, 0, 63) |
0;
+ dw[4] = qw4;
+ dw[5] = qw4 >> 32;
+
}
#define GEN8_3DSTATE_CONSTANT_BODY_length 0x0000000a
@@ -8217,7 +8322,6 @@ GEN8_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw_MemoryObjectControlState;
GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
dw[1] =
- /* Struct MemoryObjectControlState (24..30): */
__gen_field(dw_MemoryObjectControlState, 24, 30) |
__gen_field(values->BaseMipLevel, 19, 23) |
__gen_field(values->SurfaceQPitch, 0, 14) |
@@ -8275,18 +8379,24 @@ GEN8_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
uint32_t dw8 =
0;
- dw[8] =
+ uint64_t qw8 =
__gen_combine_address(data, &dw[8], values->SurfaceBaseAddress, dw8);
+ dw[8] = qw8;
+ dw[9] = qw8 >> 32;
+
uint32_t dw10 =
__gen_field(values->XOffsetforVPlane, 48, 61) |
__gen_field(values->YOffsetforVPlane, 32, 45) |
__gen_field(values->AuxiliaryTableIndexforMediaCompressedSurface, 21, 31) |
0;
- dw[10] =
+ uint64_t qw10 =
__gen_combine_address(data, &dw[10], values->AuxiliarySurfaceBaseAddress, dw10);
+ dw[10] = qw10;
+ dw[11] = qw10 >> 32;
+
dw[12] =
0;