Summary: | Graphics corruption in Sauerbraten | ||
---|---|---|---|
Product: | Mesa | Reporter: | Jon Severinsson <jon> |
Component: | Drivers/DRI/R600 | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED WONTFIX | QA Contact: | |
Severity: | normal | ||
Priority: | medium | Keywords: | patch, regression |
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
URL: | http://jon.severinsson.net/mesa/screenshot_10399.png | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Uggly patch that fixes the problem for me
Somewhat less ugly patch for Mesa 7.8 |
Description
Jon Severinsson
2010-01-14 08:06:42 UTC
taiu told me at IRC that typing /floatvtx 1 in the Sauerbraten console also worked around the issue in mesa 7.7. It does work for Sauerbraten, but I've just verified that a few Wine games that didn't work for me with either mesa 7.6.1 nor 7.7 works after I apply my patch to 7.7, so the problem goes beyond just Sauerbraten. Created attachment 34530 [details] [review] Somewhat less ugly patch for Mesa 7.8 When upgrading to mesa 7.8 I had to update my patch to get it to apply. I took the opportunity to see if I could clean up the patch while I was at it. Essentially I tried to find what current code was the equivalent to the old code my patch re-introduced, and modify that instead. The new patch is still no beauty, but much better than the old one and now weights at a somewhat more modest 372 lines (removing 97 lines and adding 77 lines) Trying to analyse the changes I find three major ones, as well as some minor ones following from those, but as I'm no expert on Mesa I don't fully understand what impact they have, other than what I see on screen (Sauerbraten starting to work). 1) With the patch applied r700TryDrawPrims is called as a first stage of r600_pipeline instead of being called through the vbo_context(ctx)->draw_prims callback from the other stages. 2) In several places the patch replaces use of context->stream_desc with use of context->radeon.tcl.aos. 3) After doing the other changes, r700RunRenderPrimitiveImmediate have to use data from vb->Elts when calling R600_OUT_BATCH() or the graphic cards borks and requires a restart to output anything. I hope this work will help someone more knowledgeable to figure out how to fix the problem properly. I think this can be closed, since r600c is now deprecated. Also, sauerbraten renders correctly on my barts gpu with r600g of mesa 7.11. Feel free to reopen. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.