[Mesa-dev] [PATCH mesa 3/3] nv30: Disable msaa for now because it causes lockups

Hans de Goede hdegoede at redhat.com
Mon Sep 7 12:50:50 PDT 2015


msaa use on nv30 may trigger a (mesa?) bug where dmesg says:
 [ 1197.850642] nouveau E[soffice.bin[3785]] fail ttm_validate
 [ 1197.850648] nouveau E[soffice.bin[3785]] validating bo list
 [ 1197.850654] nouveau E[soffice.bin[3785]] validate: -12
 [ 1201.766955] nouveau E[soffice.bin[3785]] fail ttm_validate
 [ 1201.766961] nouveau E[soffice.bin[3785]] validating bo list
 [ 1201.766968] nouveau E[soffice.bin[3785]] validate: -12

After which the program using the msaa visual freezes, and eventually
the entire system freezes. Disable msaa until this is fixed.

This happens on both nv3x and nv4x cards.

Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
 src/gallium/drivers/nouveau/nv30/nv30_screen.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
index 7aad26b..7a16e72 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -319,8 +319,25 @@ nv30_screen_is_format_supported(struct pipe_screen *pscreen,
                                 unsigned sample_count,
                                 unsigned bindings)
 {
+   /*
+    * msaa use on nv30 may trigger a (mesa?) bug where dmesg says:
+    * [ 1197.850642] nouveau E[soffice.bin[3785]] fail ttm_validate
+    * [ 1197.850648] nouveau E[soffice.bin[3785]] validating bo list
+    * [ 1197.850654] nouveau E[soffice.bin[3785]] validate: -12
+    * [ 1201.766955] nouveau E[soffice.bin[3785]] fail ttm_validate
+    * [ 1201.766961] nouveau E[soffice.bin[3785]] validating bo list
+    * [ 1201.766968] nouveau E[soffice.bin[3785]] validate: -12
+    *
+    * After which the program using the msaa visual freezes, and eventually
+    * the entire system freezes. Disable msaa until this is fixed.
+    */
+#if 1
+   if (sample_count > 0)
+#else
    if (sample_count > 4)
+#endif
       return false;
+
    if (!(0x00000017 & (1 << sample_count)))
       return false;
 
-- 
2.4.3



More information about the mesa-dev mailing list