Bug 30650

Summary: ut2004-demo segfault since r600g: use dirty list to track dirty blocks
Product: Mesa Reporter: Andy Furniss <adf.lists>
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Andy Furniss 2010-10-06 04:32:00 UTC
rv790, d-r-t, git ddx,mesa,libdrm and xserver 1.9

ut2004 demo segfaults for me since -

commit ac8a1ebe55b08180945ffaebcff6b3bed336c9ec
Author: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Date:   Tue Oct 5 21:01:43 2010 +0200

    r600g: use dirty list to track dirty blocks
    
    Got a speed up by tracking the dirty blocks in a seperate list instead of looping through all blocks. This version should work with block that get their dirty state disabled again and I added a dirty check during the flush as some blocks were already dirty.

Log: [ 1]  ./ut2004-bin [0x85a5921]
Log: [ 2]  [0xffffe400]
Log: [ 3]  /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so [0xb40d31a1]
Log: [ 4]  /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so [0xb40b20e1]
Log: [ 5]  /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so [0xb42565cd]
Log: [ 6]  /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so [0xb42342aa]
Log: [ 7]  /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so [0xb4231539]
Log: [ 8]  /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so [0xb42047be]
Log: [ 9]  /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so [0xb4228cfe]
Log: [10]  /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so [0xb422936a]
Log: [11]  /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so [0xb4185585]
Log: [12]  ./ut2004-bin(_ZN22FOpenGLRenderInterface13DrawPrimitiveE14EPrimitiveTypeiiii+0x2dd) [0x87089cd]
Log: [13]  ./ut2004-bin(_Z11DrawSectionP11UStaticMeshiP9UMaterialP16FRenderInterface+0xbf) [0x834b77f]
Log: [14]  ./ut2004-bin(_Z16RenderStaticMeshP13FDynamicActorP15FLevelSceneNodeP5TListIP13FDynamicLightEPS3_IP20FProjectorRenderInfoEP16FRenderInterface+0x14f4) [0x834d5c4]
Log: [15]  ./ut2004-bin(_ZN13FDynamicActor6RenderEP15FLevelSceneNodeP5TListIP13FDynamicLightEPS2_IP20FProjectorRenderInfoEP16FRenderInterface+0x22eb) [0x83134cb]
Log: [16]  ./ut2004-bin [0x83378ec]
Log: [17]  ./ut2004-bin(_Z11RenderLevelP15FLevelSceneNodeP16FRenderInterface+0xed2) [0x8334212]
Log: [18]  ./ut2004-bin(_ZN15FLevelSceneNode6RenderEP16FRenderInterface+0x66c) [0x831b52c]
Log: [19]  ./ut2004-bin(_Z11RenderLevelP15FLevelSceneNodeP16FRenderInterface+0xc79) [0x8333fb9]
Log: [20]  ./ut2004-bin(_ZN15FLevelSceneNode6RenderEP16FRenderInterface+0x66c) [0x831b52c]
Log: [21]  ./ut2004-bin(_Z11RenderLevelP15FLevelSceneNodeP16FRenderInterface+0xc79) [0x8333fb9]
Log: [22]  ./ut2004-bin(_ZN15FLevelSceneNode6RenderEP16FRenderInterface+0x66c) [0x831b52c]
Log: [23]  ./ut2004-bin(_Z11RenderLevelP15FLevelSceneNodeP16FRenderInterface+0xc79) [0x8333fb9]
Log: [24]  ./ut2004-bin(_ZN15FLevelSceneNode6RenderEP16FRenderInterface+0x66c) [0x831b52c]
Log: [25]  ./ut2004-bin(_ZN16FPlayerSceneNode6RenderEP16FRenderInterface+0x1da) [0x831f8ba]
Log: [26]  ./ut2004-bin(_ZN11UGameEngine4DrawEP9UViewportiPhPi+0x6c4) [0x8240f04]
Log: [27]  ./ut2004-bin(_ZN12USDLViewport7RepaintEi+0x56) [0x86f8136]
Log: [28]  ./ut2004-bin(_ZN10USDLClient4TickEv+0x159) [0x86f6359]
Log: [29]  ./ut2004-bin(_ZN11UGameEngine4TickEf+0x517) [0x82459b7]
Log: [30]  ./ut2004-bin(_ZN9CMainLoop7RunLoopEv+0x108) [0x815a7a8]
Log: [31]  ./ut2004-bin [0x81521cf]
Log: [32]  ./ut2004-bin(main+0x2c8f) [0x814e1df]
Log: [33]  /lib/libc.so.6(__libc_start_main+0xd0) [0xb74f7380]
Log: [34]  ./ut2004-bin(readdir+0x95) [0x814b321]
Comment 1 Andy Furniss 2010-10-06 11:36:38 UTC
Fixed now in mesa master

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.