From aba75d054660a5c1636534128a93b7794625ef83 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Kristensen Date: Thu, 18 Jun 2015 11:12:36 -0700 Subject: vk/headers: Make General State offsets relocations --- src/vulkan/gen7_pack.h | 42 ++++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) (limited to 'src/vulkan/gen7_pack.h') diff --git a/src/vulkan/gen7_pack.h b/src/vulkan/gen7_pack.h index 75f193891d6..88780322540 100644 --- a/src/vulkan/gen7_pack.h +++ b/src/vulkan/gen7_pack.h @@ -1521,7 +1521,7 @@ struct GEN7_3DSTATE_DS { uint32_t FloatingPointMode; uint32_t IllegalOpcodeExceptionEnable; uint32_t SoftwareExceptionEnable; - uint32_t ScratchSpaceBasePointer; + __gen_address_type ScratchSpaceBasePointer; uint32_t PerThreadScratchSpace; uint32_t DispatchGRFStartRegisterForURBData; uint32_t PatchURBEntryReadLength; @@ -1561,11 +1561,14 @@ GEN7_3DSTATE_DS_pack(__gen_user_data *data, void * restrict dst, __gen_field(values->SoftwareExceptionEnable, 7, 7) | 0; - dw[3] = + uint32_t dw3 = __gen_offset(values->ScratchSpaceBasePointer, 10, 31) | __gen_field(values->PerThreadScratchSpace, 0, 3) | 0; + dw[3] = + __gen_combine_address(data, &dw[3], values->ScratchSpaceBasePointer, dw3); + dw[4] = __gen_field(values->DispatchGRFStartRegisterForURBData, 20, 24) | __gen_field(values->PatchURBEntryReadLength, 11, 17) | @@ -1618,7 +1621,7 @@ struct GEN7_3DSTATE_GS { uint32_t IllegalOpcodeExceptionEnable; uint32_t MaskStackExceptionEnable; uint32_t SoftwareExceptionEnable; - uint32_t ScratchSpaceBasePointer; + __gen_address_type ScratchSpaceBasePointer; uint32_t PerThreadScratchSpace; uint32_t OutputVertexSize; uint32_t OutputTopology; @@ -1677,11 +1680,14 @@ GEN7_3DSTATE_GS_pack(__gen_user_data *data, void * restrict dst, __gen_field(values->SoftwareExceptionEnable, 7, 7) | 0; - dw[3] = + uint32_t dw3 = __gen_offset(values->ScratchSpaceBasePointer, 10, 31) | __gen_field(values->PerThreadScratchSpace, 0, 3) | 0; + dw[3] = + __gen_combine_address(data, &dw[3], values->ScratchSpaceBasePointer, dw3); + dw[4] = __gen_field(values->OutputVertexSize, 23, 28) | __gen_field(values->OutputTopology, 17, 22) | @@ -1794,7 +1800,7 @@ struct GEN7_3DSTATE_HS { uint32_t StatisticsEnable; uint32_t InstanceCount; uint32_t KernelStartPointer; - uint32_t ScratchSpaceBasePointer; + __gen_address_type ScratchSpaceBasePointer; uint32_t PerThreadScratchSpace; uint32_t SingleProgramFlow; #define Dmask 0 @@ -1840,11 +1846,14 @@ GEN7_3DSTATE_HS_pack(__gen_user_data *data, void * restrict dst, __gen_offset(values->KernelStartPointer, 6, 31) | 0; - dw[4] = + uint32_t dw4 = __gen_offset(values->ScratchSpaceBasePointer, 10, 31) | __gen_field(values->PerThreadScratchSpace, 0, 3) | 0; + dw[4] = + __gen_combine_address(data, &dw[4], values->ScratchSpaceBasePointer, dw4); + dw[5] = __gen_field(values->SingleProgramFlow, 27, 27) | __gen_field(values->VectorMaskEnable, 26, 26) | @@ -2208,7 +2217,7 @@ struct GEN7_3DSTATE_PS { uint32_t IllegalOpcodeExceptionEnable; uint32_t MaskStackExceptionEnable; uint32_t SoftwareExceptionEnable; - uint32_t ScratchSpaceBasePointer; + __gen_address_type ScratchSpaceBasePointer; uint32_t PerThreadScratchSpace; uint32_t MaximumNumberofThreads; uint32_t PushConstantEnable; @@ -2262,11 +2271,14 @@ GEN7_3DSTATE_PS_pack(__gen_user_data *data, void * restrict dst, __gen_field(values->SoftwareExceptionEnable, 7, 7) | 0; - dw[3] = + uint32_t dw3 = __gen_offset(values->ScratchSpaceBasePointer, 10, 31) | __gen_field(values->PerThreadScratchSpace, 0, 3) | 0; + dw[3] = + __gen_combine_address(data, &dw[3], values->ScratchSpaceBasePointer, dw3); + dw[4] = __gen_field(values->MaximumNumberofThreads, 24, 31) | __gen_field(values->PushConstantEnable, 11, 11) | @@ -3915,7 +3927,7 @@ struct GEN7_3DSTATE_VS { uint32_t FloatingPointMode; uint32_t IllegalOpcodeExceptionEnable; uint32_t SoftwareExceptionEnable; - uint32_t ScratchSpaceBaseOffset; + __gen_address_type ScratchSpaceBaseOffset; uint32_t PerThreadScratchSpace; uint32_t DispatchGRFStartRegisterforURBData; uint32_t VertexURBEntryReadLength; @@ -3954,11 +3966,14 @@ GEN7_3DSTATE_VS_pack(__gen_user_data *data, void * restrict dst, __gen_field(values->SoftwareExceptionEnable, 7, 7) | 0; - dw[3] = + uint32_t dw3 = __gen_offset(values->ScratchSpaceBaseOffset, 10, 31) | __gen_field(values->PerThreadScratchSpace, 0, 3) | 0; + dw[3] = + __gen_combine_address(data, &dw[3], values->ScratchSpaceBaseOffset, dw3); + dw[4] = __gen_field(values->DispatchGRFStartRegisterforURBData, 20, 24) | __gen_field(values->VertexURBEntryReadLength, 11, 16) | @@ -4684,7 +4699,7 @@ struct GEN7_MEDIA_VFE_STATE { uint32_t MediaCommandOpcode; uint32_t SubOpcode; uint32_t DwordLength; - uint32_t ScratchSpaceBasePointer; + __gen_address_type ScratchSpaceBasePointer; uint32_t PerThreadScratchSpace; uint32_t MaximumNumberofThreads; uint32_t NumberofURBEntries; @@ -4739,11 +4754,14 @@ GEN7_MEDIA_VFE_STATE_pack(__gen_user_data *data, void * restrict dst, __gen_field(values->DwordLength, 0, 15) | 0; - dw[1] = + uint32_t dw1 = __gen_offset(values->ScratchSpaceBasePointer, 10, 31) | __gen_field(values->PerThreadScratchSpace, 0, 3) | 0; + dw[1] = + __gen_combine_address(data, &dw[1], values->ScratchSpaceBasePointer, dw1); + dw[2] = __gen_field(values->MaximumNumberofThreads, 16, 31) | __gen_field(values->NumberofURBEntries, 8, 15) | -- cgit v1.2.3