Mesa (main): intel/isl: Add isl_view::min_lod_clamp for IVB+

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 31 14:11:28 UTC 2022


Module: Mesa
Branch: main
Commit: a19ed1f46ad56e1c4c34e022e14027461c90278e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a19ed1f46ad56e1c4c34e022e14027461c90278e

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Tue Jul  6 10:54:28 2021 -0500

intel/isl: Add isl_view::min_lod_clamp for IVB+

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14129>

---

 src/intel/isl/isl.h               | 8 ++++++++
 src/intel/isl/isl_surface_state.c | 6 ++++++
 2 files changed, 14 insertions(+)

diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h
index c2db422fc8e..9d348526fab 100644
--- a/src/intel/isl/isl.h
+++ b/src/intel/isl/isl.h
@@ -1609,6 +1609,14 @@ struct isl_view {
     */
    uint32_t array_len;
 
+   /**
+    * Minimum LOD
+    *
+    * Similar to sampler minimum LOD, the computed LOD is clamped to be at
+    * least min_lod_clamp.
+    */
+   float min_lod_clamp;
+
    struct isl_swizzle swizzle;
 };
 
diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c
index 8a5de4b3848..4cbcd64d28e 100644
--- a/src/intel/isl/isl_surface_state.c
+++ b/src/intel/isl/isl_surface_state.c
@@ -446,6 +446,12 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
 #endif
 #endif
 
+#if GFX_VER >= 7
+   s.ResourceMinLOD = info->view->min_lod_clamp;
+#else
+   assert(info->view->min_lod_clamp == 0);
+#endif
+
 #if (GFX_VERx10 >= 75)
    if (info->view->usage & ISL_SURF_USAGE_RENDER_TARGET_BIT)
       assert(isl_swizzle_supports_rendering(dev->info, info->view->swizzle));



More information about the mesa-commit mailing list