https://bugs.freedesktop.org/show_bug.cgi?id=59588
Priority: medium Bug ID: 59588 Assignee: dri-devel@lists.freedesktop.org Summary: llvm rv790 etqw gpu lock since r600g/llvm: tgsi to llvm emits store.swizzle intrinsic for vs/fs output Severity: normal Classification: Unclassified OS: Linux (All) Reporter: lists@andyfurniss.entadsl.com Hardware: x86 (IA32) Status: NEW Version: git Component: Drivers/Gallium/r600 Product: Mesa
PCIE HD4890 drm-fixes kernel, current tstellar llvm
Since Mesa commit
commit 3b14ce2cafea03de1b39e44cc8c37439b031e3eb Author: Vincent Lejeune vljn@ovi.com Date: Fri Jan 11 19:48:29 2013 +0100
r600g/llvm: tgsi to llvm emits store.swizzle intrinsic for vs/fs output
Enemy territory quake wars locks GPU as soon as it loads.
Doesn't happen with R600_LLVM=0, doesn't happen on the commit before this.
Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: GPU lockup (waiting for 0x0000000000041577 last fence id 0x0000000000041575) Jan 19 16:34:11 nf7 kernel: [drm] Disabling audio support Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: Saved 89 dwords of commands on ring 0. Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: GPU softreset: 0x00000007 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008010_GRBM_STATUS = 0xA23304A0 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008014_GRBM_STATUS2 = 0x00000002 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_000E50_SRBM_STATUS = 0x200000C0 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x01000000 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00011002 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00028584 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008680_CP_STAT = 0x80838647 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008020_GRBM_SOFT_RESET=0x00007FEE Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008020_GRBM_SOFT_RESET=0x00000001 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008010_GRBM_STATUS = 0x00003028 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008014_GRBM_STATUS2 = 0x00000002 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_000E50_SRBM_STATUS = 0x200000C0 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00000000 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00000000 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: R_008680_CP_STAT = 0x00000000 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: GPU reset succeeded, trying to resume Jan 19 16:34:11 nf7 kernel: [drm] probing gen 2 caps for device 1022:9603 = 2/0 Jan 19 16:34:11 nf7 kernel: [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0 Jan 19 16:34:11 nf7 kernel: [drm] PCIE GART of 512M enabled (table at 0x0000000000040000). Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: WB enabled Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xff95dc00 Jan 19 16:34:11 nf7 kernel: radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xff95dc0c Jan 19 16:34:11 nf7 kernel: [drm] ring test on 0 succeeded in 1 usecs Jan 19 16:34:11 nf7 kernel: [drm] ring test on 3 succeeded in 1 usecs Jan 19 16:34:11 nf7 kernel: [drm] Enabling audio support Jan 19 16:34:11 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:337 HDMI: ELD buf size is 0, force 128 Jan 19 16:34:11 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:356 HDMI: invalid ELD data byte 0 Jan 19 16:34:11 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:337 HDMI: ELD buf size is 0, force 128 Jan 19 16:34:11 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:356 HDMI: invalid ELD data byte 0 Jan 19 16:34:12 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:337 HDMI: ELD buf size is 0, force 128 Jan 19 16:34:12 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:356 HDMI: invalid ELD data byte 0 Jan 19 16:34:12 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:337 HDMI: ELD buf size is 0, force 128 Jan 19 16:34:12 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:356 HDMI: invalid ELD data byte 0 Jan 19 16:34:12 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:337 HDMI: ELD buf size is 0, force 128 Jan 19 16:34:12 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:356 HDMI: invalid ELD data byte 0 Jan 19 16:34:13 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:337 HDMI: ELD buf size is 0, force 128 Jan 19 16:34:13 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:356 HDMI: invalid ELD data byte 0 Jan 19 16:34:13 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:337 HDMI: ELD buf size is 0, force 128 Jan 19 16:34:13 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:356 HDMI: invalid ELD data byte 0 Jan 19 16:34:13 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:337 HDMI: ELD buf size is 0, force 128 Jan 19 16:34:13 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:356 HDMI: invalid ELD data byte 0 Jan 19 16:34:14 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:337 HDMI: ELD buf size is 0, force 128 Jan 19 16:34:14 nf7 kernel: ALSA sound/pci/hda/hda_eld.c:356 HDMI: invalid ELD data byte 0 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: GPU lockup (waiting for 0x0000000000041579 last fence id 0x0000000000041577) Jan 19 16:34:22 nf7 kernel: [drm:r600_ib_test] *ERROR* radeon: fence wait failed (-35). Jan 19 16:34:22 nf7 kernel: [drm:radeon_ib_ring_tests] *ERROR* radeon: failed testing IB on GFX ring (-35). Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: ib ring test failed (-35). Jan 19 16:34:22 nf7 kernel: [drm] Disabling audio support Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: GPU softreset: 0x00000007 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008010_GRBM_STATUS = 0xA23304A0 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008014_GRBM_STATUS2 = 0x00000002 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_000E50_SRBM_STATUS = 0x200000C0 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x01000000 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00011002 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00028584 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008680_CP_STAT = 0x80838647 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008020_GRBM_SOFT_RESET=0x00007FEE Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008020_GRBM_SOFT_RESET=0x00000001 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008010_GRBM_STATUS = 0x00003028 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008014_GRBM_STATUS2 = 0x00000002 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_000E50_SRBM_STATUS = 0x200000C0 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00000000 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00000000 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: R_008680_CP_STAT = 0x00000000 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: GPU reset succeeded, trying to resume Jan 19 16:34:22 nf7 kernel: [drm] probing gen 2 caps for device 1022:9603 = 2/0 Jan 19 16:34:22 nf7 kernel: [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0 Jan 19 16:34:22 nf7 kernel: [drm] PCIE GART of 512M enabled (table at 0x0000000000040000). Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: WB enabled Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xff95dc00 Jan 19 16:34:22 nf7 kernel: radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xff95dc0c Jan 19 16:34:22 nf7 kernel: [drm] ring test on 0 succeeded in 1 usecs Jan 19 16:34:22 nf7 kernel: [drm] ring test on 3 succeeded in 1 usecs Jan 19 16:34:22 nf7 kernel: [drm] Enabling audio support Jan 19 16:34:22 nf7 kernel: [drm] ib test on ring 0 succeeded in 0 usecs Jan 19 16:34:22 nf7 kernel: [drm] ib test on ring 3 succeeded in 1 usecs
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #1 from vincent vljn@ovi.com --- Can you run etqw with R600_DUMP_SHADERS=1 and post the output please ?
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #2 from Andy Furniss lists@andyfurniss.entadsl.com --- Created attachment 73391 --> https://bugs.freedesktop.org/attachment.cgi?id=73391&action=edit compressed etqw shader dump while getting gpu lock.
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #3 from vincent vljn@ovi.com --- As far as I can tell, all shaders end with an export instruction, with EndOfProgram bit set. I suspect an issue with number of color buffer export involved.
Can you apply this patch and report if the game still locks the gpu ?
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #4 from vincent vljn@ovi.com --- Created attachment 73411 --> https://bugs.freedesktop.org/attachment.cgi?id=73411&action=edit Disable llvm fs
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #5 from Andy Furniss lists@andyfurniss.entadsl.com --- (In reply to comment #3)
As far as I can tell, all shaders end with an export instruction, with EndOfProgram bit set. I suspect an issue with number of color buffer export involved.
Can you apply this patch and report if the game still locks the gpu ?
The game runs OK with the patch.
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #6 from vincent vljn@ovi.com --- Can you send a log with the same env var set so that I can diff working and non working log please ?
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #7 from Andy Furniss lists@andyfurniss.entadsl.com --- Created attachment 73485 --> https://bugs.freedesktop.org/attachment.cgi?id=73485&action=edit compressed etqw shaders working with patch
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #8 from Andy Furniss lists@andyfurniss.entadsl.com --- The patch also fixes the minor issue I reported with some mesa demos.
https://bugs.freedesktop.org/show_bug.cgi?id=58150
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #9 from Alex Deucher agd5f@yahoo.com --- Regarding the conversation on IRC, the vertex shader has to export at least one generic param (not counting special exports like position). So if the vertex shader doesn't export any params, you need a dummy one.
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #10 from vincent vljn@ovi.com --- Can you test with this new patch ? (Remove the previous one) It adds dummy export to vs outputs
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #11 from vincent vljn@ovi.com --- Created attachment 73532 --> https://bugs.freedesktop.org/attachment.cgi?id=73532&action=edit Add dummy vs export
https://bugs.freedesktop.org/show_bug.cgi?id=59588
--- Comment #12 from Andy Furniss lists@andyfurniss.entadsl.com --- (In reply to comment #10)
Can you test with this new patch ? (Remove the previous one) It adds dummy export to vs outputs
It works OK with the new patch.
https://bugs.freedesktop.org/show_bug.cgi?id=59588
vincent vljn@ovi.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #13 from vincent vljn@ovi.com --- Pushed : http://cgit.freedesktop.org/mesa/mesa/commit/?id=a871e01174466812f081f4c474b... and http://cgit.freedesktop.org/~tstellar/llvm/commit/?id=c3bd37cc1dd45fc4fe0b4e...
dri-devel@lists.freedesktop.org