From a19ed1f46ad56e1c4c34e022e14027461c90278e Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 6 Jul 2021 10:54:28 -0500 Subject: [PATCH] intel/isl: Add isl_view::min_lod_clamp for IVB+ Reviewed-by: Lionel Landwerlin Part-of: --- 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 c2db422..9d34852 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 8a5de4b..4cbcd64 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)); -- 2.7.4