[PATCH] radeon: allow write_reloc with unaccounted buffers to cope with Mesa R200 bug

Marek Olšák maraeo at gmail.com
Fri Aug 1 06:43:20 PDT 2014


From: Marek Olšák <marek.olsak at amd.com>

---

I'm not really interested in studying the R200 driver to fix it.
This has to suffice.

 radeon/radeon_cs_gem.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/radeon/radeon_cs_gem.c b/radeon/radeon_cs_gem.c
index b87c6b1..bcfa05b 100644
--- a/radeon/radeon_cs_gem.c
+++ b/radeon/radeon_cs_gem.c
@@ -178,6 +178,15 @@ static int cs_gem_write_reloc(struct radeon_cs_int *cs,
     uint32_t idx;
     unsigned i;
 
+    if (!boi->space_accounted) {
+        struct radeon_cs *rcs = (struct radeon_cs*)cs;
+        int r;
+
+        radeon_cs_space_add_persistent_bo(rcs, bo, read_domain, write_domain);
+        r = radeon_cs_space_check(rcs);
+        if (r)
+            return r;
+    }
     assert(boi->space_accounted);
 
     /* check domains */
-- 
1.9.1



More information about the dri-devel mailing list