[Mesa-dev] r600g: status of my work on the shader optimization

Stefan Seifert nine at detonation.org
Thu Feb 14 08:53:52 PST 2013


Hi!

Amazing work! I see some 50 % speed ups in FlightGear and even more. While 
normally 3D clouds tear performance down to an unflyable stutter, with your 
branch I can fly in densly clouded conditions at usable framerates. I can now 
turn all shaders to maximum and enjoy the view. This makes a huge difference.

Unfortunately there's a downside as well:

[ 4644.872676] radeon 0000:01:00.0: GPU lockup CP stall for more than 
10000msec
[ 4644.872681] radeon 0000:01:00.0: GPU lockup (waiting for 0x00000000000a0c1d 
last fence id 0x00000000000a0c16)
[ 4644.873727] radeon 0000:01:00.0: Saved 215 dwords of commands on ring 0.
[ 4644.873730] radeon 0000:01:00.0: GPU softreset: 0x00000003
[ 4644.880943] radeon 0000:01:00.0:   GRBM_STATUS               = 0xF4002828
[ 4644.880946] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0xC0000005
[ 4644.880948] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0x00000007
[ 4644.880950] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0
[ 4644.880952] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
[ 4644.880955] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x40040000
[ 4644.880957] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00048002
[ 4644.880959] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x80268643
[ 4644.880961] radeon 0000:01:00.0:   GRBM_SOFT_RESET=0x00007F6B
[ 4644.881014] radeon 0000:01:00.0:   GRBM_STATUS               = 0x00003828
[ 4644.881016] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0x00000007
[ 4644.881019] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0x00000007
[ 4644.881021] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0
[ 4644.881023] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
[ 4644.881025] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x00000000
[ 4644.881027] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00000000
[ 4644.881030] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x00000000
[ 4644.898500] radeon 0000:01:00.0: GPU reset succeeded, trying to resume

R600_SB=0 is stable while with R600_SB=1 I can somewhat reliably reproduce 
these lockups. Is there someting I can do to debug this? Or are problems like 
this already expected?

In any case please keep up this work! Even though it might eventually be 
replaced by some llvm backend, this could make your users very happy in the 
mean time.

Regards,
Stefan


More information about the mesa-dev mailing list