From 6a7c5257cac23cd9767aa4bc8fdab68925b11157 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sun, 1 May 2016 19:09:14 -0700 Subject: [PATCH] i965: Ignore anisotropic filtering in nearest mode. This fixes both Europa Universalis IV and Stellaris rendering on i965. This was tested on SKL. This fix was discovered by Jakub Szuppe at Stream HPC (https://streamhpc.com/). bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96958 bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95530 Signed-off-by: Kenneth Graunke Tested-by: Dylan Baker Reviewed-by: Jason Ekstrand Cc: 17.1 --- src/mesa/drivers/dri/i965/brw_sampler_state.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_sampler_state.c b/src/mesa/drivers/dri/i965/brw_sampler_state.c index 5d57a35..26bf0cb 100644 --- a/src/mesa/drivers/dri/i965/brw_sampler_state.c +++ b/src/mesa/drivers/dri/i965/brw_sampler_state.c @@ -450,8 +450,10 @@ brw_update_sampler_state(struct brw_context *brw, /* Enable anisotropic filtering if desired. */ unsigned max_anisotropy = BRW_ANISORATIO_2; if (sampler->MaxAnisotropy > 1.0f) { - min_filter = BRW_MAPFILTER_ANISOTROPIC; - mag_filter = BRW_MAPFILTER_ANISOTROPIC; + if (min_filter == BRW_MAPFILTER_LINEAR) + min_filter = BRW_MAPFILTER_ANISOTROPIC; + if (mag_filter == BRW_MAPFILTER_LINEAR) + mag_filter = BRW_MAPFILTER_ANISOTROPIC; if (sampler->MaxAnisotropy > 2.0f) { max_anisotropy = -- 2.7.4