summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/sid.h
diff options
context:
space:
mode:
authorNicolai Hähnle <nicolai.haehnle@amd.com>2016-07-16 20:37:29 +0200
committerNicolai Hähnle <nicolai.haehnle@amd.com>2016-07-23 15:36:38 +0200
commitf755da0f2f8609e603b50424aa254358eb72fa25 (patch)
tree0d0cfcf2a8a2e49109461ad37a8e4cb74bf3586a /src/gallium/drivers/radeonsi/sid.h
parentabb2a865a49b0a4c3d2c0a4a0024d72784393188 (diff)
downloadexternal_mesa3d-f755da0f2f8609e603b50424aa254358eb72fa25.zip
external_mesa3d-f755da0f2f8609e603b50424aa254358eb72fa25.tar.gz
external_mesa3d-f755da0f2f8609e603b50424aa254358eb72fa25.tar.bz2
radeonsi: fix Polaris MSAA regression
The regression was introduced by commit d938b8c. The problem here is that in order to use the small primitive filter, we need to explicitly set the sample locations to 0. But the DB doesn't properly process the change of sample locations without a flush, and so we can end up with incorrect Z values. Instead of doing a flush, just disable the small primitive filter when MSAA is force-disabled. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96908 Cc: 12.0 <mesa-stable@lists.freedesktop.org>
Diffstat (limited to 'src/gallium/drivers/radeonsi/sid.h')
-rw-r--r--src/gallium/drivers/radeonsi/sid.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/sid.h b/src/gallium/drivers/radeonsi/sid.h
index f6a05c5..0d2ac37 100644
--- a/src/gallium/drivers/radeonsi/sid.h
+++ b/src/gallium/drivers/radeonsi/sid.h
@@ -7216,6 +7216,7 @@
/* */
#define R_028830_PA_SU_SMALL_PRIM_FILTER_CNTL 0x028830 /* Polaris */
#define S_028830_SMALL_PRIM_FILTER_ENABLE(x) (((x) & 0x1) << 0)
+#define C_028830_SMALL_PRIM_FILTER_ENABLE 0xFFFFFFFE
#define S_028830_TRIANGLE_FILTER_DISABLE(x) (((x) & 0x1) << 1)
#define S_028830_LINE_FILTER_DISABLE(x) (((x) & 0x1) << 2)
#define S_028830_POINT_FILTER_DISABLE(x) (((x) & 0x1) << 3)