i965/sampler_state: Clamp min/max LOD to 14 on gen7+
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 7 Feb 2017 05:56:35 +0000 (21:56 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 13 Feb 2017 01:56:32 +0000 (17:56 -0800)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "17.0" <mesa-stable@lists.freedesktop.org>
src/mesa/drivers/dri/i965/brw_sampler_state.c

index 412efb9..e677a75 100644 (file)
@@ -503,8 +503,11 @@ brw_update_sampler_state(struct brw_context *brw,
    }
 
    const int lod_bits = brw->gen >= 7 ? 8 : 6;
-   const unsigned min_lod = U_FIXED(CLAMP(sampler->MinLod, 0, 13), lod_bits);
-   const unsigned max_lod = U_FIXED(CLAMP(sampler->MaxLod, 0, 13), lod_bits);
+   const float hw_max_lod = brw->gen >= 7 ? 14 : 13;
+   const unsigned min_lod =
+      U_FIXED(CLAMP(sampler->MinLod, 0, hw_max_lod), lod_bits);
+   const unsigned max_lod =
+      U_FIXED(CLAMP(sampler->MaxLod, 0, hw_max_lod), lod_bits);
    const int lod_bias =
       S_FIXED(CLAMP(tex_unit_lod_bias + sampler->LodBias, -16, 15), lod_bits);