Lockup for executing trivial-tess-gs_no-gs-inputs.shader_test
Submitted by Hi-Angel
Assigned to Default DRI bug account
Link to original bug (#101575)
Description
Created attachment 132214 Vertex, geometric, pixel shaders dump
This test always fails:
$ bin/shader_runner piglit/tests/spec/arb_tessellation_shader/execution/trivial-tess-gs_no-gs-inputs.shader_test -auto -fbo
Probe color at (0,0)
Expected: 0 255 0 0
Observed: 0 0 0 0
Test failure on line 60
PIGLIT: {"result": "fail" }
but, in addition, often screen goes black, and kernel spews a message about lockup:
[ 4093.695956] radeon 0000:01:00.0: ring 3 stalled for more than 10053msec
[ 4093.695966] radeon 0000:01:00.0: GPU lockup (current fence id 0x00000000000002be last fence id 0x00000000000002bf on ring 3)
[ 4093.696032] radeon 0000:01:00.0: failed to get a new IB (-35)
[ 4093.696079] [drm:radeon_cs_ioctl [radeon]] *ERROR* Failed to get ib !
[ 4093.703389] radeon 0000:01:00.0: Saved 1154 dwords of commands on ring 0.
[ 4093.703406] radeon 0000:01:00.0: GPU softreset: 0x0000001D
[ 4093.703410] radeon 0000:01:00.0: GRBM_STATUS = 0xA0631CA0
[ 4093.703413] radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x18000003
[ 4093.703416] radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x00000007
[ 4093.703418] radeon 0000:01:00.0: SRBM_STATUS = 0x200000C0
[ 4093.703421] radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
[ 4093.703424] radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x01000000
[ 4093.703427] radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00011000
[ 4093.703430] radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00068402
[ 4093.703433] radeon 0000:01:00.0: R_008680_CP_STAT = 0x80870243
[ 4093.703436] radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44483106
[ 4093.708782] radeon 0000:01:00.0: GRBM_SOFT_RESET=0x00007F6B
[ 4093.708836] radeon 0000:01:00.0: SRBM_SOFT_RESET=0x00100100
[ 4093.710004] radeon 0000:01:00.0: GRBM_STATUS = 0x00003828
[ 4093.710006] radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x00000007
[ 4093.710008] radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x00000007
[ 4093.710010] radeon 0000:01:00.0: SRBM_STATUS = 0x200000C0
[ 4093.710012] radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
[ 4093.710014] radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000
[ 4093.710015] radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00000000
[ 4093.710017] radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00000000
[ 4093.710019] radeon 0000:01:00.0: R_008680_CP_STAT = 0x00000000
[ 4093.710021] radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44C83D57
[ 4093.710039] radeon 0000:01:00.0: GPU reset succeeded, trying to resume
[ 4093.737953] [drm] PCIE GART of 1024M enabled (table at 0x000000000014C000).
[ 4093.738076] radeon 0000:01:00.0: WB enabled
[ 4093.738081] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff8801b0eb0c00
[ 4093.738084] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff8801b0eb0c0c
[ 4093.738460] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x000000000005c418 and cpu addr 0xffffc9000181c418
[ 4093.755220] [drm] ring test on 0 succeeded in 1 usecs
[ 4093.755229] [drm] ring test on 3 succeeded in 3 usecs
[ 4093.932873] [drm] ring test on 5 succeeded in 1 usecs
[ 4093.932878] [drm] UVD initialized successfully.
[ 4093.951552] [drm] ib test on ring 0 succeeded in 0 usecs
[ 4093.951589] [drm] ib test on ring 3 succeeded in 0 usecs
[ 4095.109237] [drm] ib test on ring 5 succeeded
≈½ of lockups are leaving screen black, and require reboot.
Attaching vs,gs,ps assembly, and R600_TRACE results from 2 different lockups. The 2 traces are identical except that 1-st one locks up at the start, and the other at the end.
I've tried fixing it myself, but I have no slightest idea what to look at.
Attachment 132214, "Vertex, geometric, pixel shaders dump":
vs_gs_ps-dump
Version: git