vk: Use generated headers with fixed point support
authorKristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Thu, 11 Jun 2015 06:11:37 +0000 (23:11 -0700)
committerKristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Thu, 11 Jun 2015 16:25:04 +0000 (09:25 -0700)
The generated headers now convert float in the template struct to the
correct fixed point format.

src/vulkan/device.c
src/vulkan/gen75_pack.h
src/vulkan/gen7_pack.h
src/vulkan/gen8_pack.h
src/vulkan/image.c

index 3df707429e1a12149a887d3461e5726aa7500d7f..7ee820b1bc55cd5d46dabecd2a43e83597cd5e8f 100644 (file)
@@ -1524,7 +1524,7 @@ fill_buffer_surface_state(void *state, VkFormat format,
       .SamplerL2BypassModeDisable = true,
       .RenderCacheReadWriteMode = WriteOnlyCache,
       .MemoryObjectControlState = GEN8_MOCS,
-      .BaseMipLevel = 0,
+      .BaseMipLevel = 0.0,
       .SurfaceQPitch = 0,
       .Height = (num_elements >> 7) & 0x3fff,
       .Width = num_elements & 0x7f,
@@ -1545,7 +1545,7 @@ fill_buffer_surface_state(void *state, VkFormat format,
       .ShaderChannelSelectGreen = SCS_GREEN,
       .ShaderChannelSelectBlue = SCS_BLUE,
       .ShaderChannelSelectAlpha = SCS_ALPHA,
-      .ResourceMinLOD = 0,
+      .ResourceMinLOD = 0.0,
       /* FIXME: We assume that the image must be bound at this time. */
       .SurfaceBaseAddress = { NULL, offset },
    };
@@ -1648,14 +1648,14 @@ VkResult anv_CreateSampler(
       .SamplerDisable = false,
       .TextureBorderColorMode = DX10OGL,
       .LODPreClampMode = 0,
-      .BaseMipLevel = 0,
+      .BaseMipLevel = 0.0,
       .MipModeFilter = vk_to_gen_mipmap_mode[pCreateInfo->mipMode],
       .MagModeFilter = mag_filter,
       .MinModeFilter = min_filter,
       .TextureLODBias = pCreateInfo->mipLodBias * 256,
       .AnisotropicAlgorithm = EWAApproximation,
-      .MinLOD = pCreateInfo->minLod * 256,
-      .MaxLOD = pCreateInfo->maxLod * 256,
+      .MinLOD = pCreateInfo->minLod,
+      .MaxLOD = pCreateInfo->maxLod,
       .ChromaKeyEnable = 0,
       .ChromaKeyIndex = 0,
       .ChromaKeyMode = 0,
index f9b34d89df8e136bf7622a11f56826c98c41b709..3796d89967dabd09236b5cd81b171465485abd10 100644 (file)
@@ -616,10 +616,10 @@ struct GEN75_3DSTATE_AA_LINE_PARAMETERS {
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     AACoverageBias;
-   uint32_t                                     AACoverageSlope;
-   uint32_t                                     AACoverageEndCapBias;
-   uint32_t                                     AACoverageEndCapSlope;
+   float                                        AACoverageBias;
+   float                                        AACoverageSlope;
+   float                                        AACoverageEndCapBias;
+   float                                        AACoverageEndCapSlope;
 };
 
 static inline void
@@ -637,13 +637,13 @@ GEN75_3DSTATE_AA_LINE_PARAMETERS_pack(__gen_user_data *data, void * restrict dst
       0;
 
    dw[1] =
-      __gen_field(values->AACoverageBias, 16, 23) |
-      __gen_field(values->AACoverageSlope, 0, 7) |
+      __gen_field(values->AACoverageBias * (1 << 8), 16, 23) |
+      __gen_field(values->AACoverageSlope * (1 << 8), 0, 7) |
       0;
 
    dw[2] =
-      __gen_field(values->AACoverageEndCapBias, 16, 23) |
-      __gen_field(values->AACoverageEndCapSlope, 0, 7) |
+      __gen_field(values->AACoverageEndCapBias * (1 << 8), 16, 23) |
+      __gen_field(values->AACoverageEndCapSlope * (1 << 8), 0, 7) |
       0;
 
 }
@@ -1340,8 +1340,8 @@ struct GEN75_3DSTATE_CLIP {
 #define     Vertex1                                            1
 #define     Vertex2                                            2
    uint32_t                                     TriangleFanProvokingVertexSelect;
-   uint32_t                                     MinimumPointWidth;
-   uint32_t                                     MaximumPointWidth;
+   float                                        MinimumPointWidth;
+   float                                        MaximumPointWidth;
    uint32_t                                     ForceZeroRTAIndexEnable;
    uint32_t                                     MaximumVPIndex;
 };
@@ -1385,8 +1385,8 @@ GEN75_3DSTATE_CLIP_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[3] =
-      __gen_field(values->MinimumPointWidth, 17, 27) |
-      __gen_field(values->MaximumPointWidth, 6, 16) |
+      __gen_field(values->MinimumPointWidth * (1 << 3), 17, 27) |
+      __gen_field(values->MaximumPointWidth * (1 << 3), 6, 16) |
       __gen_field(values->ForceZeroRTAIndexEnable, 5, 5) |
       __gen_field(values->MaximumVPIndex, 0, 3) |
       0;
@@ -2584,7 +2584,7 @@ struct GEN75_3DSTATE_LINE_STIPPLE {
    uint32_t                                     CurrentRepeatCounter;
    uint32_t                                     CurrentStippleIndex;
    uint32_t                                     LineStipplePattern;
-   uint32_t                                     LineStippleInverseRepeatCount;
+   float                                        LineStippleInverseRepeatCount;
    uint32_t                                     LineStippleRepeatCount;
 };
 
@@ -2610,7 +2610,7 @@ GEN75_3DSTATE_LINE_STIPPLE_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[2] =
-      __gen_field(values->LineStippleInverseRepeatCount, 15, 31) |
+      __gen_field(values->LineStippleInverseRepeatCount * (1 << 16), 15, 31) |
       __gen_field(values->LineStippleRepeatCount, 0, 8) |
       0;
 
@@ -2679,22 +2679,22 @@ struct GEN75_3DSTATE_MULTISAMPLE {
 #define     NUMSAMPLES_4                                       2
 #define     NUMSAMPLES_8                                       3
    uint32_t                                     NumberofMultisamples;
-   uint32_t                                     Sample3XOffset;
-   uint32_t                                     Sample3YOffset;
-   uint32_t                                     Sample2XOffset;
-   uint32_t                                     Sample2YOffset;
-   uint32_t                                     Sample1XOffset;
-   uint32_t                                     Sample1YOffset;
-   uint32_t                                     Sample0XOffset;
-   uint32_t                                     Sample0YOffset;
-   uint32_t                                     Sample7XOffset;
-   uint32_t                                     Sample7YOffset;
-   uint32_t                                     Sample6XOffset;
-   uint32_t                                     Sample6YOffset;
-   uint32_t                                     Sample5XOffset;
-   uint32_t                                     Sample5YOffset;
-   uint32_t                                     Sample4XOffset;
-   uint32_t                                     Sample4YOffset;
+   float                                        Sample3XOffset;
+   float                                        Sample3YOffset;
+   float                                        Sample2XOffset;
+   float                                        Sample2YOffset;
+   float                                        Sample1XOffset;
+   float                                        Sample1YOffset;
+   float                                        Sample0XOffset;
+   float                                        Sample0YOffset;
+   float                                        Sample7XOffset;
+   float                                        Sample7YOffset;
+   float                                        Sample6XOffset;
+   float                                        Sample6YOffset;
+   float                                        Sample5XOffset;
+   float                                        Sample5YOffset;
+   float                                        Sample4XOffset;
+   float                                        Sample4YOffset;
 };
 
 static inline void
@@ -2718,25 +2718,25 @@ GEN75_3DSTATE_MULTISAMPLE_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[2] =
-      __gen_field(values->Sample3XOffset, 28, 31) |
-      __gen_field(values->Sample3YOffset, 24, 27) |
-      __gen_field(values->Sample2XOffset, 20, 23) |
-      __gen_field(values->Sample2YOffset, 16, 19) |
-      __gen_field(values->Sample1XOffset, 12, 15) |
-      __gen_field(values->Sample1YOffset, 8, 11) |
-      __gen_field(values->Sample0XOffset, 4, 7) |
-      __gen_field(values->Sample0YOffset, 0, 3) |
+      __gen_field(values->Sample3XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->Sample3YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->Sample2XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->Sample2YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->Sample1XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->Sample1YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->Sample0XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->Sample0YOffset * (1 << 4), 0, 3) |
       0;
 
    dw[3] =
-      __gen_field(values->Sample7XOffset, 28, 31) |
-      __gen_field(values->Sample7YOffset, 24, 27) |
-      __gen_field(values->Sample6XOffset, 20, 23) |
-      __gen_field(values->Sample6YOffset, 16, 19) |
-      __gen_field(values->Sample5XOffset, 12, 15) |
-      __gen_field(values->Sample5YOffset, 8, 11) |
-      __gen_field(values->Sample4XOffset, 4, 7) |
-      __gen_field(values->Sample4YOffset, 0, 3) |
+      __gen_field(values->Sample7XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->Sample7YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->Sample6XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->Sample6YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->Sample5XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->Sample5YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->Sample4XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->Sample4YOffset * (1 << 4), 0, 3) |
       0;
 
 }
@@ -3175,38 +3175,38 @@ struct GEN75_3DSTATE_RAST_MULTISAMPLE {
 #define     NRM_NUMRASTSAMPLES_8                               3
 #define     NRM_NUMRASTSAMPLES_16                              4
    uint32_t                                     NumberofRasterizationMultisamples;
-   uint32_t                                     Sample3XOffset;
-   uint32_t                                     Sample3YOffset;
-   uint32_t                                     Sample2XOffset;
-   uint32_t                                     Sample2YOffset;
-   uint32_t                                     Sample1XOffset;
-   uint32_t                                     Sample1YOffset;
-   uint32_t                                     Sample0XOffset;
-   uint32_t                                     Sample0YOffset;
-   uint32_t                                     Sample7XOffset;
-   uint32_t                                     Sample7YOffset;
-   uint32_t                                     Sample6XOffset;
-   uint32_t                                     Sample6YOffset;
-   uint32_t                                     Sample5XOffset;
-   uint32_t                                     Sample5YOffset;
-   uint32_t                                     Sample4XOffset;
-   uint32_t                                     Sample4YOffset;
-   uint32_t                                     Sample11XOffset;
-   uint32_t                                     Sample11YOffset;
-   uint32_t                                     Sample10XOffset;
-   uint32_t                                     Sample10YOffset;
-   uint32_t                                     Sample9XOffset;
-   uint32_t                                     Sample9YOffset;
-   uint32_t                                     Sample8XOffset;
-   uint32_t                                     Sample8YOffset;
-   uint32_t                                     Sample15XOffset;
-   uint32_t                                     Sample15YOffset;
-   uint32_t                                     Sample14XOffset;
-   uint32_t                                     Sample14YOffset;
-   uint32_t                                     Sample13XOffset;
-   uint32_t                                     Sample13YOffset;
-   uint32_t                                     Sample12XOffset;
-   uint32_t                                     Sample12YOffset;
+   float                                        Sample3XOffset;
+   float                                        Sample3YOffset;
+   float                                        Sample2XOffset;
+   float                                        Sample2YOffset;
+   float                                        Sample1XOffset;
+   float                                        Sample1YOffset;
+   float                                        Sample0XOffset;
+   float                                        Sample0YOffset;
+   float                                        Sample7XOffset;
+   float                                        Sample7YOffset;
+   float                                        Sample6XOffset;
+   float                                        Sample6YOffset;
+   float                                        Sample5XOffset;
+   float                                        Sample5YOffset;
+   float                                        Sample4XOffset;
+   float                                        Sample4YOffset;
+   float                                        Sample11XOffset;
+   float                                        Sample11YOffset;
+   float                                        Sample10XOffset;
+   float                                        Sample10YOffset;
+   float                                        Sample9XOffset;
+   float                                        Sample9YOffset;
+   float                                        Sample8XOffset;
+   float                                        Sample8YOffset;
+   float                                        Sample15XOffset;
+   float                                        Sample15YOffset;
+   float                                        Sample14XOffset;
+   float                                        Sample14YOffset;
+   float                                        Sample13XOffset;
+   float                                        Sample13YOffset;
+   float                                        Sample12XOffset;
+   float                                        Sample12YOffset;
 };
 
 static inline void
@@ -3228,47 +3228,47 @@ GEN75_3DSTATE_RAST_MULTISAMPLE_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[2] =
-      __gen_field(values->Sample3XOffset, 28, 31) |
-      __gen_field(values->Sample3YOffset, 24, 27) |
-      __gen_field(values->Sample2XOffset, 20, 23) |
-      __gen_field(values->Sample2YOffset, 16, 19) |
-      __gen_field(values->Sample1XOffset, 12, 15) |
-      __gen_field(values->Sample1YOffset, 8, 11) |
-      __gen_field(values->Sample0XOffset, 4, 7) |
-      __gen_field(values->Sample0YOffset, 0, 3) |
+      __gen_field(values->Sample3XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->Sample3YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->Sample2XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->Sample2YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->Sample1XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->Sample1YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->Sample0XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->Sample0YOffset * (1 << 4), 0, 3) |
       0;
 
    dw[3] =
-      __gen_field(values->Sample7XOffset, 28, 31) |
-      __gen_field(values->Sample7YOffset, 24, 27) |
-      __gen_field(values->Sample6XOffset, 20, 23) |
-      __gen_field(values->Sample6YOffset, 16, 19) |
-      __gen_field(values->Sample5XOffset, 12, 15) |
-      __gen_field(values->Sample5YOffset, 8, 11) |
-      __gen_field(values->Sample4XOffset, 4, 7) |
-      __gen_field(values->Sample4YOffset, 0, 3) |
+      __gen_field(values->Sample7XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->Sample7YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->Sample6XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->Sample6YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->Sample5XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->Sample5YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->Sample4XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->Sample4YOffset * (1 << 4), 0, 3) |
       0;
 
    dw[4] =
-      __gen_field(values->Sample11XOffset, 28, 31) |
-      __gen_field(values->Sample11YOffset, 24, 27) |
-      __gen_field(values->Sample10XOffset, 20, 23) |
-      __gen_field(values->Sample10YOffset, 16, 19) |
-      __gen_field(values->Sample9XOffset, 12, 15) |
-      __gen_field(values->Sample9YOffset, 8, 11) |
-      __gen_field(values->Sample8XOffset, 4, 7) |
-      __gen_field(values->Sample8YOffset, 0, 3) |
+      __gen_field(values->Sample11XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->Sample11YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->Sample10XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->Sample10YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->Sample9XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->Sample9YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->Sample8XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->Sample8YOffset * (1 << 4), 0, 3) |
       0;
 
    dw[5] =
-      __gen_field(values->Sample15XOffset, 28, 31) |
-      __gen_field(values->Sample15YOffset, 24, 27) |
-      __gen_field(values->Sample14XOffset, 20, 23) |
-      __gen_field(values->Sample14YOffset, 16, 19) |
-      __gen_field(values->Sample13XOffset, 12, 15) |
-      __gen_field(values->Sample13YOffset, 8, 11) |
-      __gen_field(values->Sample12XOffset, 4, 7) |
-      __gen_field(values->Sample12YOffset, 0, 3) |
+      __gen_field(values->Sample15XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->Sample15YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->Sample14XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->Sample14YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->Sample13XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->Sample13YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->Sample12XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->Sample12YOffset * (1 << 4), 0, 3) |
       0;
 
 }
@@ -3814,7 +3814,7 @@ struct GEN75_3DSTATE_SF {
 #define     CULLMODE_FRONT                                     2
 #define     CULLMODE_BACK                                      3
    uint32_t                                     CullMode;
-   uint32_t                                     LineWidth;
+   float                                        LineWidth;
    uint32_t                                     LineEndCapAntialiasingRegionWidth;
    uint32_t                                     LineStippleEnable;
    uint32_t                                     ScissorRectangleEnable;
@@ -3834,7 +3834,7 @@ struct GEN75_3DSTATE_SF {
    uint32_t                                     AALineDistanceMode;
    uint32_t                                     VertexSubPixelPrecisionSelect;
    uint32_t                                     UsePointWidthState;
-   uint32_t                                     PointWidth;
+   float                                        PointWidth;
    uint32_t                                     GlobalDepthOffsetConstant;
    uint32_t                                     GlobalDepthOffsetScale;
    uint32_t                                     GlobalDepthOffsetClamp;
@@ -3870,7 +3870,7 @@ GEN75_3DSTATE_SF_pack(__gen_user_data *data, void * restrict dst,
    dw[2] =
       __gen_field(values->AntiAliasingEnable, 31, 31) |
       __gen_field(values->CullMode, 29, 30) |
-      __gen_field(values->LineWidth, 18, 27) |
+      __gen_field(values->LineWidth * (1 << 7), 18, 27) |
       __gen_field(values->LineEndCapAntialiasingRegionWidth, 16, 17) |
       __gen_field(values->LineStippleEnable, 14, 14) |
       __gen_field(values->ScissorRectangleEnable, 11, 11) |
@@ -3886,7 +3886,7 @@ GEN75_3DSTATE_SF_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->AALineDistanceMode, 14, 14) |
       __gen_field(values->VertexSubPixelPrecisionSelect, 12, 12) |
       __gen_field(values->UsePointWidthState, 11, 11) |
-      __gen_field(values->PointWidth, 0, 10) |
+      __gen_field(values->PointWidth * (1 << 3), 0, 10) |
       0;
 
    dw[4] =
@@ -7548,7 +7548,7 @@ struct GEN75_RENDER_SURFACE_STATE {
    uint32_t                                     ShaderChannelSelectG;
    uint32_t                                     ShaderChannelSelectB;
    uint32_t                                     ShaderChannelSelectA;
-   uint32_t                                     ResourceMinLOD;
+   float                                        ResourceMinLOD;
 };
 
 static inline void
@@ -7627,7 +7627,7 @@ GEN75_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->ShaderChannelSelectG, 22, 24) |
       __gen_field(values->ShaderChannelSelectB, 19, 21) |
       __gen_field(values->ShaderChannelSelectA, 16, 18) |
-      __gen_field(values->ResourceMinLOD, 0, 11) |
+      __gen_field(values->ResourceMinLOD * (1 << 8), 0, 11) |
       0;
 
 }
@@ -7694,7 +7694,7 @@ struct GEN75_SAMPLER_STATE {
    uint32_t                                     TextureBorderColorMode;
 #define     OGL                                                1
    uint32_t                                     LODPreClampEnable;
-   uint32_t                                     BaseMipLevel;
+   float                                        BaseMipLevel;
 #define     MIPFILTER_NONE                                     0
 #define     MIPFILTER_NEAREST                                  1
 #define     MIPFILTER_LINEAR                                   3
@@ -7713,8 +7713,8 @@ struct GEN75_SAMPLER_STATE {
 #define     LEGACY                                             0
 #define     EWAApproximation                                   1
    uint32_t                                     AnisotropicAlgorithm;
-   uint32_t                                     MinLOD;
-   uint32_t                                     MaxLOD;
+   float                                        MinLOD;
+   float                                        MaxLOD;
 #define     PREFILTEROPALWAYS                                  0
 #define     PREFILTEROPNEVER                                   1
 #define     PREFILTEROPLESS                                    2
@@ -7769,7 +7769,7 @@ GEN75_SAMPLER_STATE_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->SamplerDisable, 31, 31) |
       __gen_field(values->TextureBorderColorMode, 29, 29) |
       __gen_field(values->LODPreClampEnable, 28, 28) |
-      __gen_field(values->BaseMipLevel, 22, 26) |
+      __gen_field(values->BaseMipLevel * (1 << 1), 22, 26) |
       __gen_field(values->MipModeFilter, 20, 21) |
       __gen_field(values->MagModeFilter, 17, 19) |
       __gen_field(values->MinModeFilter, 14, 16) |
@@ -7778,8 +7778,8 @@ GEN75_SAMPLER_STATE_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[1] =
-      __gen_field(values->MinLOD, 20, 31) |
-      __gen_field(values->MaxLOD, 8, 19) |
+      __gen_field(values->MinLOD * (1 << 8), 20, 31) |
+      __gen_field(values->MaxLOD * (1 << 8), 8, 19) |
       __gen_field(values->ShadowFunction, 1, 3) |
       __gen_field(values->CubeSurfaceControlMode, 0, 0) |
       0;
index 5e56ce2d36765a5febe07b1e1137db7f73d6cd66..09a477bc663d9762473305b6bcc82fa997c15f43 100644 (file)
@@ -576,10 +576,10 @@ struct GEN7_3DSTATE_AA_LINE_PARAMETERS {
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     AACoverageBias;
-   uint32_t                                     AACoverageSlope;
-   uint32_t                                     AACoverageEndCapBias;
-   uint32_t                                     AACoverageEndCapSlope;
+   float                                        AACoverageBias;
+   float                                        AACoverageSlope;
+   float                                        AACoverageEndCapBias;
+   float                                        AACoverageEndCapSlope;
 };
 
 static inline void
@@ -597,13 +597,13 @@ GEN7_3DSTATE_AA_LINE_PARAMETERS_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[1] =
-      __gen_field(values->AACoverageBias, 16, 23) |
-      __gen_field(values->AACoverageSlope, 0, 7) |
+      __gen_field(values->AACoverageBias * (1 << 8), 16, 23) |
+      __gen_field(values->AACoverageSlope * (1 << 8), 0, 7) |
       0;
 
    dw[2] =
-      __gen_field(values->AACoverageEndCapBias, 16, 23) |
-      __gen_field(values->AACoverageEndCapSlope, 0, 7) |
+      __gen_field(values->AACoverageEndCapBias * (1 << 8), 16, 23) |
+      __gen_field(values->AACoverageEndCapSlope * (1 << 8), 0, 7) |
       0;
 
 }
@@ -1014,8 +1014,8 @@ struct GEN7_3DSTATE_CLIP {
 #define     Vertex1                                            1
 #define     Vertex2                                            2
    uint32_t                                     TriangleFanProvokingVertexSelect;
-   uint32_t                                     MinimumPointWidth;
-   uint32_t                                     MaximumPointWidth;
+   float                                        MinimumPointWidth;
+   float                                        MaximumPointWidth;
    uint32_t                                     ForceZeroRTAIndexEnable;
    uint32_t                                     MaximumVPIndex;
 };
@@ -1059,8 +1059,8 @@ GEN7_3DSTATE_CLIP_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[3] =
-      __gen_field(values->MinimumPointWidth, 17, 27) |
-      __gen_field(values->MaximumPointWidth, 6, 16) |
+      __gen_field(values->MinimumPointWidth * (1 << 3), 17, 27) |
+      __gen_field(values->MaximumPointWidth * (1 << 3), 6, 16) |
       __gen_field(values->ForceZeroRTAIndexEnable, 5, 5) |
       __gen_field(values->MaximumVPIndex, 0, 3) |
       0;
@@ -1937,7 +1937,7 @@ struct GEN7_3DSTATE_LINE_STIPPLE {
    uint32_t                                     CurrentRepeatCounter;
    uint32_t                                     CurrentStippleIndex;
    uint32_t                                     LineStipplePattern;
-   uint32_t                                     LineStippleInverseRepeatCount;
+   float                                        LineStippleInverseRepeatCount;
    uint32_t                                     LineStippleRepeatCount;
 };
 
@@ -1963,7 +1963,7 @@ GEN7_3DSTATE_LINE_STIPPLE_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[2] =
-      __gen_field(values->LineStippleInverseRepeatCount, 15, 31) |
+      __gen_field(values->LineStippleInverseRepeatCount * (1 << 16), 15, 31) |
       __gen_field(values->LineStippleRepeatCount, 0, 8) |
       0;
 
@@ -2031,22 +2031,22 @@ struct GEN7_3DSTATE_MULTISAMPLE {
 #define     NUMSAMPLES_4                                       2
 #define     NUMSAMPLES_8                                       3
    uint32_t                                     NumberofMultisamples;
-   uint32_t                                     Sample3XOffset;
-   uint32_t                                     Sample3YOffset;
-   uint32_t                                     Sample2XOffset;
-   uint32_t                                     Sample2YOffset;
-   uint32_t                                     Sample1XOffset;
-   uint32_t                                     Sample1YOffset;
-   uint32_t                                     Sample0XOffset;
-   uint32_t                                     Sample0YOffset;
-   uint32_t                                     Sample7XOffset;
-   uint32_t                                     Sample7YOffset;
-   uint32_t                                     Sample6XOffset;
-   uint32_t                                     Sample6YOffset;
-   uint32_t                                     Sample5XOffset;
-   uint32_t                                     Sample5YOffset;
-   uint32_t                                     Sample4XOffset;
-   uint32_t                                     Sample4YOffset;
+   float                                        Sample3XOffset;
+   float                                        Sample3YOffset;
+   float                                        Sample2XOffset;
+   float                                        Sample2YOffset;
+   float                                        Sample1XOffset;
+   float                                        Sample1YOffset;
+   float                                        Sample0XOffset;
+   float                                        Sample0YOffset;
+   float                                        Sample7XOffset;
+   float                                        Sample7YOffset;
+   float                                        Sample6XOffset;
+   float                                        Sample6YOffset;
+   float                                        Sample5XOffset;
+   float                                        Sample5YOffset;
+   float                                        Sample4XOffset;
+   float                                        Sample4YOffset;
 };
 
 static inline void
@@ -2069,25 +2069,25 @@ GEN7_3DSTATE_MULTISAMPLE_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[2] =
-      __gen_field(values->Sample3XOffset, 28, 31) |
-      __gen_field(values->Sample3YOffset, 24, 27) |
-      __gen_field(values->Sample2XOffset, 20, 23) |
-      __gen_field(values->Sample2YOffset, 16, 19) |
-      __gen_field(values->Sample1XOffset, 12, 15) |
-      __gen_field(values->Sample1YOffset, 8, 11) |
-      __gen_field(values->Sample0XOffset, 4, 7) |
-      __gen_field(values->Sample0YOffset, 0, 3) |
+      __gen_field(values->Sample3XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->Sample3YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->Sample2XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->Sample2YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->Sample1XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->Sample1YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->Sample0XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->Sample0YOffset * (1 << 4), 0, 3) |
       0;
 
    dw[3] =
-      __gen_field(values->Sample7XOffset, 28, 31) |
-      __gen_field(values->Sample7YOffset, 24, 27) |
-      __gen_field(values->Sample6XOffset, 20, 23) |
-      __gen_field(values->Sample6YOffset, 16, 19) |
-      __gen_field(values->Sample5XOffset, 12, 15) |
-      __gen_field(values->Sample5YOffset, 8, 11) |
-      __gen_field(values->Sample4XOffset, 4, 7) |
-      __gen_field(values->Sample4YOffset, 0, 3) |
+      __gen_field(values->Sample7XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->Sample7YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->Sample6XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->Sample6YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->Sample5XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->Sample5YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->Sample4XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->Sample4YOffset * (1 << 4), 0, 3) |
       0;
 
 }
@@ -3050,7 +3050,7 @@ struct GEN7_3DSTATE_SF {
 #define     CULLMODE_FRONT                                     2
 #define     CULLMODE_BACK                                      3
    uint32_t                                     CullMode;
-   uint32_t                                     LineWidth;
+   float                                        LineWidth;
    uint32_t                                     LineEndCapAntialiasingRegionWidth;
    uint32_t                                     ScissorRectangleEnable;
    uint32_t                                     MultisampleRasterizationMode;
@@ -3068,7 +3068,7 @@ struct GEN7_3DSTATE_SF {
    uint32_t                                     AALineDistanceMode;
    uint32_t                                     VertexSubPixelPrecisionSelect;
    uint32_t                                     UsePointWidthState;
-   uint32_t                                     PointWidth;
+   float                                        PointWidth;
    uint32_t                                     GlobalDepthOffsetConstant;
    uint32_t                                     GlobalDepthOffsetScale;
    uint32_t                                     GlobalDepthOffsetClamp;
@@ -3104,7 +3104,7 @@ GEN7_3DSTATE_SF_pack(__gen_user_data *data, void * restrict dst,
    dw[2] =
       __gen_field(values->AntiAliasingEnable, 31, 31) |
       __gen_field(values->CullMode, 29, 30) |
-      __gen_field(values->LineWidth, 18, 27) |
+      __gen_field(values->LineWidth * (1 << 7), 18, 27) |
       __gen_field(values->LineEndCapAntialiasingRegionWidth, 16, 17) |
       __gen_field(values->ScissorRectangleEnable, 11, 11) |
       __gen_field(values->MultisampleRasterizationMode, 8, 9) |
@@ -3118,7 +3118,7 @@ GEN7_3DSTATE_SF_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->AALineDistanceMode, 14, 14) |
       __gen_field(values->VertexSubPixelPrecisionSelect, 12, 12) |
       __gen_field(values->UsePointWidthState, 11, 11) |
-      __gen_field(values->PointWidth, 0, 10) |
+      __gen_field(values->PointWidth * (1 << 3), 0, 10) |
       0;
 
    dw[4] =
@@ -6249,7 +6249,7 @@ struct GEN7_SAMPLER_STATE {
    uint32_t                                     TextureBorderColorMode;
 #define     OGL                                                1
    uint32_t                                     LODPreClampEnable;
-   uint32_t                                     BaseMipLevel;
+   float                                        BaseMipLevel;
 #define     MIPFILTER_NONE                                     0
 #define     MIPFILTER_NEAREST                                  1
 #define     MIPFILTER_LINEAR                                   3
@@ -6268,8 +6268,8 @@ struct GEN7_SAMPLER_STATE {
 #define     LEGACY                                             0
 #define     EWAApproximation                                   1
    uint32_t                                     AnisotropicAlgorithm;
-   uint32_t                                     MinLOD;
-   uint32_t                                     MaxLOD;
+   float                                        MinLOD;
+   float                                        MaxLOD;
 #define     PREFILTEROPALWAYS                                  0
 #define     PREFILTEROPNEVER                                   1
 #define     PREFILTEROPLESS                                    2
@@ -6323,7 +6323,7 @@ GEN7_SAMPLER_STATE_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->SamplerDisable, 31, 31) |
       __gen_field(values->TextureBorderColorMode, 29, 29) |
       __gen_field(values->LODPreClampEnable, 28, 28) |
-      __gen_field(values->BaseMipLevel, 22, 26) |
+      __gen_field(values->BaseMipLevel * (1 << 1), 22, 26) |
       __gen_field(values->MipModeFilter, 20, 21) |
       __gen_field(values->MagModeFilter, 17, 19) |
       __gen_field(values->MinModeFilter, 14, 16) |
@@ -6332,8 +6332,8 @@ GEN7_SAMPLER_STATE_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[1] =
-      __gen_field(values->MinLOD, 20, 31) |
-      __gen_field(values->MaxLOD, 8, 19) |
+      __gen_field(values->MinLOD * (1 << 8), 20, 31) |
+      __gen_field(values->MaxLOD * (1 << 8), 8, 19) |
       __gen_field(values->ShadowFunction, 1, 3) |
       __gen_field(values->CubeSurfaceControlMode, 0, 0) |
       0;
index 54ad55ab490c070104e48542aacac0082ec65a45..117e64ace7b52a8c0a19749d2d90bfc7a41dc9aa 100644 (file)
@@ -1004,14 +1004,14 @@ struct GEN8_3DSTATE_AA_LINE_PARAMETERS {
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     AAPointCoverageBias;
-   uint32_t                                     AACoverageBias;
-   uint32_t                                     AAPointCoverageSlope;
-   uint32_t                                     AACoverageSlope;
-   uint32_t                                     AAPointCoverageEndCapBias;
-   uint32_t                                     AACoverageEndCapBias;
-   uint32_t                                     AAPointCoverageEndCapSlope;
-   uint32_t                                     AACoverageEndCapSlope;
+   float                                        AAPointCoverageBias;
+   float                                        AACoverageBias;
+   float                                        AAPointCoverageSlope;
+   float                                        AACoverageSlope;
+   float                                        AAPointCoverageEndCapBias;
+   float                                        AACoverageEndCapBias;
+   float                                        AAPointCoverageEndCapSlope;
+   float                                        AACoverageEndCapSlope;
 };
 
 static inline void
@@ -1029,17 +1029,17 @@ GEN8_3DSTATE_AA_LINE_PARAMETERS_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[1] =
-      __gen_field(values->AAPointCoverageBias, 24, 31) |
-      __gen_field(values->AACoverageBias, 16, 23) |
-      __gen_field(values->AAPointCoverageSlope, 8, 15) |
-      __gen_field(values->AACoverageSlope, 0, 7) |
+      __gen_field(values->AAPointCoverageBias * (1 << 8), 24, 31) |
+      __gen_field(values->AACoverageBias * (1 << 8), 16, 23) |
+      __gen_field(values->AAPointCoverageSlope * (1 << 8), 8, 15) |
+      __gen_field(values->AACoverageSlope * (1 << 8), 0, 7) |
       0;
 
    dw[2] =
-      __gen_field(values->AAPointCoverageEndCapBias, 24, 31) |
-      __gen_field(values->AACoverageEndCapBias, 16, 23) |
-      __gen_field(values->AAPointCoverageEndCapSlope, 8, 15) |
-      __gen_field(values->AACoverageEndCapSlope, 0, 7) |
+      __gen_field(values->AAPointCoverageEndCapBias * (1 << 8), 24, 31) |
+      __gen_field(values->AACoverageEndCapBias * (1 << 8), 16, 23) |
+      __gen_field(values->AAPointCoverageEndCapSlope * (1 << 8), 8, 15) |
+      __gen_field(values->AACoverageEndCapSlope * (1 << 8), 0, 7) |
       0;
 
 }
@@ -1738,8 +1738,8 @@ struct GEN8_3DSTATE_CLIP {
    uint32_t                                     TriangleStripListProvokingVertexSelect;
    uint32_t                                     LineStripListProvokingVertexSelect;
    uint32_t                                     TriangleFanProvokingVertexSelect;
-   uint32_t                                     MinimumPointWidth;
-   uint32_t                                     MaximumPointWidth;
+   float                                        MinimumPointWidth;
+   float                                        MaximumPointWidth;
    uint32_t                                     ForceZeroRTAIndexEnable;
    uint32_t                                     MaximumVPIndex;
 };
@@ -1783,8 +1783,8 @@ GEN8_3DSTATE_CLIP_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[3] =
-      __gen_field(values->MinimumPointWidth, 17, 27) |
-      __gen_field(values->MaximumPointWidth, 6, 16) |
+      __gen_field(values->MinimumPointWidth * (1 << 3), 17, 27) |
+      __gen_field(values->MaximumPointWidth * (1 << 3), 6, 16) |
       __gen_field(values->ForceZeroRTAIndexEnable, 5, 5) |
       __gen_field(values->MaximumVPIndex, 0, 3) |
       0;
@@ -3040,7 +3040,7 @@ struct GEN8_3DSTATE_LINE_STIPPLE {
    uint32_t                                     CurrentRepeatCounter;
    uint32_t                                     CurrentStippleIndex;
    uint32_t                                     LineStipplePattern;
-   uint32_t                                     LineStippleInverseRepeatCount;
+   float                                        LineStippleInverseRepeatCount;
    uint32_t                                     LineStippleRepeatCount;
 };
 
@@ -3066,7 +3066,7 @@ GEN8_3DSTATE_LINE_STIPPLE_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[2] =
-      __gen_field(values->LineStippleInverseRepeatCount, 15, 31) |
+      __gen_field(values->LineStippleInverseRepeatCount * (1 << 16), 15, 31) |
       __gen_field(values->LineStippleRepeatCount, 0, 8) |
       0;
 
@@ -4139,36 +4139,36 @@ struct GEN8_3DSTATE_SAMPLE_PATTERN {
    uint32_t                                     _3DCommandOpcode;
    uint32_t                                     _3DCommandSubOpcode;
    uint32_t                                     DwordLength;
-   uint32_t                                     _8xSample7XOffset;
-   uint32_t                                     _8xSample7YOffset;
-   uint32_t                                     _8xSample6XOffset;
-   uint32_t                                     _8xSample6YOffset;
-   uint32_t                                     _8xSample5XOffset;
-   uint32_t                                     _8xSample5YOffset;
-   uint32_t                                     _8xSample4XOffset;
-   uint32_t                                     _8xSample4YOffset;
-   uint32_t                                     _8xSample3XOffset;
-   uint32_t                                     _8xSample3YOffset;
-   uint32_t                                     _8xSample2XOffset;
-   uint32_t                                     _8xSample2YOffset;
-   uint32_t                                     _8xSample1XOffset;
-   uint32_t                                     _8xSample1YOffset;
-   uint32_t                                     _8xSample0XOffset;
-   uint32_t                                     _8xSample0YOffset;
-   uint32_t                                     _4xSample3XOffset;
-   uint32_t                                     _4xSample3YOffset;
-   uint32_t                                     _4xSample2XOffset;
-   uint32_t                                     _4xSample2YOffset;
-   uint32_t                                     _4xSample1XOffset;
-   uint32_t                                     _4xSample1YOffset;
-   uint32_t                                     _4xSample0XOffset;
-   uint32_t                                     _4xSample0YOffset;
-   uint32_t                                     _1xSample0XOffset;
-   uint32_t                                     _1xSample0YOffset;
-   uint32_t                                     _2xSample1XOffset;
-   uint32_t                                     _2xSample1YOffset;
-   uint32_t                                     _2xSample0XOffset;
-   uint32_t                                     _2xSample0YOffset;
+   float                                        _8xSample7XOffset;
+   float                                        _8xSample7YOffset;
+   float                                        _8xSample6XOffset;
+   float                                        _8xSample6YOffset;
+   float                                        _8xSample5XOffset;
+   float                                        _8xSample5YOffset;
+   float                                        _8xSample4XOffset;
+   float                                        _8xSample4YOffset;
+   float                                        _8xSample3XOffset;
+   float                                        _8xSample3YOffset;
+   float                                        _8xSample2XOffset;
+   float                                        _8xSample2YOffset;
+   float                                        _8xSample1XOffset;
+   float                                        _8xSample1YOffset;
+   float                                        _8xSample0XOffset;
+   float                                        _8xSample0YOffset;
+   float                                        _4xSample3XOffset;
+   float                                        _4xSample3YOffset;
+   float                                        _4xSample2XOffset;
+   float                                        _4xSample2YOffset;
+   float                                        _4xSample1XOffset;
+   float                                        _4xSample1YOffset;
+   float                                        _4xSample0XOffset;
+   float                                        _4xSample0YOffset;
+   float                                        _1xSample0XOffset;
+   float                                        _1xSample0YOffset;
+   float                                        _2xSample1XOffset;
+   float                                        _2xSample1YOffset;
+   float                                        _2xSample0XOffset;
+   float                                        _2xSample0YOffset;
 };
 
 static inline void
@@ -4189,45 +4189,45 @@ GEN8_3DSTATE_SAMPLE_PATTERN_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[5] =
-      __gen_field(values->_8xSample7XOffset, 28, 31) |
-      __gen_field(values->_8xSample7YOffset, 24, 27) |
-      __gen_field(values->_8xSample6XOffset, 20, 23) |
-      __gen_field(values->_8xSample6YOffset, 16, 19) |
-      __gen_field(values->_8xSample5XOffset, 12, 15) |
-      __gen_field(values->_8xSample5YOffset, 8, 11) |
-      __gen_field(values->_8xSample4XOffset, 4, 7) |
-      __gen_field(values->_8xSample4YOffset, 0, 3) |
+      __gen_field(values->_8xSample7XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->_8xSample7YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->_8xSample6XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->_8xSample6YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->_8xSample5XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->_8xSample5YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->_8xSample4XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->_8xSample4YOffset * (1 << 4), 0, 3) |
       0;
 
    dw[6] =
-      __gen_field(values->_8xSample3XOffset, 28, 31) |
-      __gen_field(values->_8xSample3YOffset, 24, 27) |
-      __gen_field(values->_8xSample2XOffset, 20, 23) |
-      __gen_field(values->_8xSample2YOffset, 16, 19) |
-      __gen_field(values->_8xSample1XOffset, 12, 15) |
-      __gen_field(values->_8xSample1YOffset, 8, 11) |
-      __gen_field(values->_8xSample0XOffset, 4, 7) |
-      __gen_field(values->_8xSample0YOffset, 0, 3) |
+      __gen_field(values->_8xSample3XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->_8xSample3YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->_8xSample2XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->_8xSample2YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->_8xSample1XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->_8xSample1YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->_8xSample0XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->_8xSample0YOffset * (1 << 4), 0, 3) |
       0;
 
    dw[7] =
-      __gen_field(values->_4xSample3XOffset, 28, 31) |
-      __gen_field(values->_4xSample3YOffset, 24, 27) |
-      __gen_field(values->_4xSample2XOffset, 20, 23) |
-      __gen_field(values->_4xSample2YOffset, 16, 19) |
-      __gen_field(values->_4xSample1XOffset, 12, 15) |
-      __gen_field(values->_4xSample1YOffset, 8, 11) |
-      __gen_field(values->_4xSample0XOffset, 4, 7) |
-      __gen_field(values->_4xSample0YOffset, 0, 3) |
+      __gen_field(values->_4xSample3XOffset * (1 << 4), 28, 31) |
+      __gen_field(values->_4xSample3YOffset * (1 << 4), 24, 27) |
+      __gen_field(values->_4xSample2XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->_4xSample2YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->_4xSample1XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->_4xSample1YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->_4xSample0XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->_4xSample0YOffset * (1 << 4), 0, 3) |
       0;
 
    dw[8] =
-      __gen_field(values->_1xSample0XOffset, 20, 23) |
-      __gen_field(values->_1xSample0YOffset, 16, 19) |
-      __gen_field(values->_2xSample1XOffset, 12, 15) |
-      __gen_field(values->_2xSample1YOffset, 8, 11) |
-      __gen_field(values->_2xSample0XOffset, 4, 7) |
-      __gen_field(values->_2xSample0YOffset, 0, 3) |
+      __gen_field(values->_1xSample0XOffset * (1 << 4), 20, 23) |
+      __gen_field(values->_1xSample0YOffset * (1 << 4), 16, 19) |
+      __gen_field(values->_2xSample1XOffset * (1 << 4), 12, 15) |
+      __gen_field(values->_2xSample1YOffset * (1 << 4), 8, 11) |
+      __gen_field(values->_2xSample0XOffset * (1 << 4), 4, 7) |
+      __gen_field(values->_2xSample0YOffset * (1 << 4), 0, 3) |
       0;
 
 }
@@ -4476,7 +4476,7 @@ struct GEN8_3DSTATE_SF {
    uint32_t                                     LegacyGlobalDepthBiasEnable;
    uint32_t                                     StatisticsEnable;
    uint32_t                                     ViewportTransformEnable;
-   uint32_t                                     LineWidth;
+   float                                        LineWidth;
 #define     _05pixels                                          0
 #define     _10pixels                                          1
 #define     _20pixels                                          2
@@ -4493,7 +4493,7 @@ struct GEN8_3DSTATE_SF {
 #define     Vertex                                             0
 #define     State                                              1
    uint32_t                                     PointWidthSource;
-   uint32_t                                     PointWidth;
+   float                                        PointWidth;
 };
 
 static inline void
@@ -4517,7 +4517,7 @@ GEN8_3DSTATE_SF_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[2] =
-      __gen_field(values->LineWidth, 18, 27) |
+      __gen_field(values->LineWidth * (1 << 7), 18, 27) |
       __gen_field(values->LineEndCapAntialiasingRegionWidth, 16, 17) |
       0;
 
@@ -4530,7 +4530,7 @@ GEN8_3DSTATE_SF_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->SmoothPointEnable, 13, 13) |
       __gen_field(values->VertexSubPixelPrecisionSelect, 12, 12) |
       __gen_field(values->PointWidthSource, 11, 11) |
-      __gen_field(values->PointWidth, 0, 10) |
+      __gen_field(values->PointWidth * (1 << 3), 0, 10) |
       0;
 
 }
@@ -8245,7 +8245,7 @@ struct GEN8_RENDER_SURFACE_STATE {
    uint32_t                                     CubeFaceEnablePositiveX;
    uint32_t                                     CubeFaceEnableNegativeX;
    struct GEN8_MEMORY_OBJECT_CONTROL_STATE      MemoryObjectControlState;
-   uint32_t                                     BaseMipLevel;
+   float                                        BaseMipLevel;
    uint32_t                                     SurfaceQPitch;
    uint32_t                                     Height;
    uint32_t                                     Width;
@@ -8292,7 +8292,7 @@ struct GEN8_RENDER_SURFACE_STATE {
    uint32_t                                     ShaderChannelSelectGreen;
    uint32_t                                     ShaderChannelSelectBlue;
    uint32_t                                     ShaderChannelSelectAlpha;
-   uint32_t                                     ResourceMinLOD;
+   float                                        ResourceMinLOD;
    __gen_address_type                           SurfaceBaseAddress;
    uint32_t                                     XOffsetforVPlane;
    uint32_t                                     YOffsetforVPlane;
@@ -8330,7 +8330,7 @@ GEN8_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
    GEN8_MEMORY_OBJECT_CONTROL_STATE_pack(data, &dw_MemoryObjectControlState, &values->MemoryObjectControlState);
    dw[1] =
       __gen_field(dw_MemoryObjectControlState, 24, 30) |
-      __gen_field(values->BaseMipLevel, 19, 23) |
+      __gen_field(values->BaseMipLevel * (1 << 1), 19, 23) |
       __gen_field(values->SurfaceQPitch, 0, 14) |
       0;
 
@@ -8380,7 +8380,7 @@ GEN8_RENDER_SURFACE_STATE_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->ShaderChannelSelectGreen, 22, 24) |
       __gen_field(values->ShaderChannelSelectBlue, 19, 21) |
       __gen_field(values->ShaderChannelSelectAlpha, 16, 18) |
-      __gen_field(values->ResourceMinLOD, 0, 11) |
+      __gen_field(values->ResourceMinLOD * (1 << 8), 0, 11) |
       0;
 
    uint32_t dw8 =
@@ -8428,7 +8428,7 @@ struct GEN8_SAMPLER_STATE {
 #define     CLAMP_NONE                                         0
 #define     CLAMP_OGL                                          2
    uint32_t                                     LODPreClampMode;
-   uint32_t                                     BaseMipLevel;
+   float                                        BaseMipLevel;
 #define     MIPFILTER_NONE                                     0
 #define     MIPFILTER_NEAREST                                  1
 #define     MIPFILTER_LINEAR                                   3
@@ -8447,8 +8447,8 @@ struct GEN8_SAMPLER_STATE {
 #define     LEGACY                                             0
 #define     EWAApproximation                                   1
    uint32_t                                     AnisotropicAlgorithm;
-   uint32_t                                     MinLOD;
-   uint32_t                                     MaxLOD;
+   float                                        MinLOD;
+   float                                        MaxLOD;
    uint32_t                                     ChromaKeyEnable;
    uint32_t                                     ChromaKeyIndex;
 #define     KEYFILTER_KILL_ON_ANY_MATCH                        0
@@ -8506,7 +8506,7 @@ GEN8_SAMPLER_STATE_pack(__gen_user_data *data, void * restrict dst,
       __gen_field(values->SamplerDisable, 31, 31) |
       __gen_field(values->TextureBorderColorMode, 29, 29) |
       __gen_field(values->LODPreClampMode, 27, 28) |
-      __gen_field(values->BaseMipLevel, 22, 26) |
+      __gen_field(values->BaseMipLevel * (1 << 1), 22, 26) |
       __gen_field(values->MipModeFilter, 20, 21) |
       __gen_field(values->MagModeFilter, 17, 19) |
       __gen_field(values->MinModeFilter, 14, 16) |
@@ -8515,8 +8515,8 @@ GEN8_SAMPLER_STATE_pack(__gen_user_data *data, void * restrict dst,
       0;
 
    dw[1] =
-      __gen_field(values->MinLOD, 20, 31) |
-      __gen_field(values->MaxLOD, 8, 19) |
+      __gen_field(values->MinLOD * (1 << 8), 20, 31) |
+      __gen_field(values->MaxLOD * (1 << 8), 8, 19) |
       __gen_field(values->ChromaKeyEnable, 7, 7) |
       __gen_field(values->ChromaKeyIndex, 5, 6) |
       __gen_field(values->ChromaKeyMode, 4, 4) |
index b385be48917e062b2f9a2a5382a912fc8f8afa97..b8a15a1aa59e98b5bddf95b0f3f2c004e7aef88e 100644 (file)
@@ -261,7 +261,7 @@ anv_image_view_init(struct anv_surface_view *view,
       .SamplerL2BypassModeDisable = true,
       .RenderCacheReadWriteMode = WriteOnlyCache,
       .MemoryObjectControlState = GEN8_MOCS,
-      .BaseMipLevel = 0,
+      .BaseMipLevel = 0.0,
       .SurfaceQPitch = 0,
       .Height = image->extent.height - 1,
       .Width = image->extent.width - 1,
@@ -282,7 +282,7 @@ anv_image_view_init(struct anv_surface_view *view,
       .ShaderChannelSelectGreen = vk_to_gen_swizzle[pCreateInfo->channels.g],
       .ShaderChannelSelectBlue = vk_to_gen_swizzle[pCreateInfo->channels.b],
       .ShaderChannelSelectAlpha = vk_to_gen_swizzle[pCreateInfo->channels.a],
-      .ResourceMinLOD = 0,
+      .ResourceMinLOD = 0.0,
       .SurfaceBaseAddress = { NULL, view->offset },
    };
 
@@ -360,7 +360,7 @@ anv_color_attachment_view_init(struct anv_surface_view *view,
       .SamplerL2BypassModeDisable = true,
       .RenderCacheReadWriteMode = WriteOnlyCache,
       .MemoryObjectControlState = GEN8_MOCS,
-      .BaseMipLevel = 0,
+      .BaseMipLevel = 0.0,
       .SurfaceQPitch = 0,
       .Height = image->extent.height - 1,
       .Width = image->extent.width - 1,
@@ -381,7 +381,7 @@ anv_color_attachment_view_init(struct anv_surface_view *view,
       .ShaderChannelSelectGreen = SCS_GREEN,
       .ShaderChannelSelectBlue = SCS_BLUE,
       .ShaderChannelSelectAlpha = SCS_ALPHA,
-      .ResourceMinLOD = 0,
+      .ResourceMinLOD = 0.0,
       .SurfaceBaseAddress = { NULL, view->offset },
    };