Bug 31530

Summary: r600g: GPU hangs with piglit (Regression)
Product: Mesa Reporter: Rafael Monica <monraaf>
Component: Drivers/Gallium/r600Assignee: Keith Whitwell <keithw>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: jfonseca
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: part of backtrace of fbo-blit-d24s8

Description Rafael Monica 2010-11-10 11:16:22 UTC
Created attachment 40180 [details]
part of backtrace of fbo-blit-d24s8

With latest git master I see a lot of piglit tests segfault and also some more GPU hangs. e.g. fbo-blit-d24s8 segfaults and fbo-readpixels now hangs the GPU.

git bisect says:

63c3e3a3dc73f8a72e0d08ac4453df57bccdfdb9 is the first bad commit
commit 63c3e3a3dc73f8a72e0d08ac4453df57bccdfdb9
Author: Keith Whitwell <keithw@vmware.com>
Date:   Tue Nov 9 20:08:45 2010 +0000

    r600: fix my pessimism about PIPE_TRANSFER_x flags

    For some reason I though we needed the _DISCARD flag to avoid
    readbacks, which isn't true at all.  Now write operations should
    pipeline properly, gives a good speedup to demos/tunnel.
Comment 1 Keith Whitwell 2010-11-11 05:48:47 UTC
I'll take a look.
Comment 2 Keith Whitwell 2010-11-11 08:22:46 UTC
commit 7fb16423cc325efcdcf6e4954a5ac71d8f96dbf8
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Nov 11 16:20:24 2010 +0000

    r600g: enforce minimum stride on render target texture images
    
    Fixes piglit/fbo_readpixels since staging upload changes.

commit 8a3c181e9cc761abb647a8e813f25e3fa4441a9a
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Nov 11 15:41:49 2010 +0000

    r600g: do not try to use staging resource for depth textures
    
    Currently r600_resource_copy_region() will turn these copies into
    transfers + memcpys, so to avoid recursion we must not turn those
    transfers back into blits.
Comment 3 Rafael Monica 2010-11-11 21:36:32 UTC
The piglit test that were segfaulting are no longer segfaulting, however the ones that did hang the GPU still do. At least the following piglit tests hang the GPU after the commit.

fbo-drawbuffers-fragcolor
fbo-drawbuffers-maxtargets
fbo-readpixels
gen-nonzero-unit

Reverting the commit and they don't hang the GPU. This is on Evergreen (HD 5750)
Comment 4 Vinson Lee 2010-11-11 22:51:02 UTC
mesa: 93edd15178a4d3367ac3d2f9369603807de411d7 (master)

r600g piglit results on RV620 (ATI Radeon HD 3400)

fbo-drawbuffers-fragcolor - fail
fbo-drawbuffers-maxtargets - pass
fbo-readpixels - pass
gen-nonzero-unit - pass
Comment 5 Keith Whitwell 2010-11-12 07:16:43 UTC
(In reply to comment #4)
> mesa: 93edd15178a4d3367ac3d2f9369603807de411d7 (master)
> 
> r600g piglit results on RV620 (ATI Radeon HD 3400)
> 
> fbo-drawbuffers-fragcolor - fail
> fbo-drawbuffers-maxtargets - pass
> fbo-readpixels - pass
> gen-nonzero-unit - pass

On r700, I'm seeing a crash for fbo-drawbuffers-fragcolor, but it doesn't seem to be a new problem - if I go back to before any of these changes, the crash remains.

Likewise I'm seeing passes for the last three on r700.  I'll plug in an evergreen card & try again.
Comment 6 Rafael Monica 2011-01-31 02:53:27 UTC
cannot reproduce this bug anymore with latest kernel and r600g from git. closing

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.