Dylan Baker
2017-06-16 20:39:47 UTC
From: Kenneth Graunke <***@whitecape.org>
This fixes both Europa Universalis IV and Steallirs 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 <***@whitecape.org>
Tested-by: Dylan Baker <***@pnwbakers.com>
---
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 5d57a35f20..26bf0cb3e2 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 =
This fixes both Europa Universalis IV and Steallirs 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 <***@whitecape.org>
Tested-by: Dylan Baker <***@pnwbakers.com>
---
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 5d57a35f20..26bf0cb3e2 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.13.1
2.13.1