Created attachment 35723 [details] terminal output Game Freeorion crash when clicking fleet icon: r300: Bad format r32g32_sscaled in r300_translate_vertex_data_type:419 r300: desc->channel[0].size == 32 r300_state_inlines.h:422:r300_translate_vertex_data_type: Assertion `0' failed. This works fine with r300c. 01:00.0 VGA compatible controller: ATI Technologies Inc M56P [Radeon Mobility X1600] mesa: 0f88ce1b0a98c7cacaa0dc53bbbb1f3c379aaa6a
This vertex format (GL_INT) is not supported by hw and we have to add some kind of fallback for this. You may workaround this bug by typing RADEON_NO_TCL=1 before the executable. This will use software vertex processing, which is slow but should handle all such corner cases.
OK thanks for explanation, but sadly I can't try this workaround now because of bug 28259. And just a cosmetic thing, would it be possible to add Drivers/Gallium/r300g bugzilla component?
(In reply to comment #2) > OK thanks for explanation, but sadly I can't try this workaround now because of > bug 28259. I'll fix it once I get from work. > And just a cosmetic thing, would it be possible to add Drivers/Gallium/r300g > bugzilla component? I was suggesting this some time ago and was too lazy to bug admins.
After commit ebe2b546633a3593c54190bb1f2d372d70de14cd (r300g: report vertex format support in is_format_supported) this bug has changed. Now, when the fleet icon is clicked it doesn't crash, however fps is less than one also the whole system responds very slowly. Quick look at dmesg showed this: [drm:radeon_fence_wait] *ERROR* fence(f2d706c0:0x0000103F) 510ms timeout going to reset GPU [drm] GA reset succeed (RBBM_STATUS=0x10000140) [drm] GA_IDLE=0x07FFFFFF [drm] RB3D_RESET_STATUS=0x00001FD4 [drm] ISYNC_CNTL=0x00000033 [drm] radeon: cp idle (0x10000000) [drm] radeon: ring at 0x0000000020000000 [drm] ring test succeeded in 16 usecs [drm] GPU reset succeed (RBBM_STATUS=0x10000140) [drm:radeon_fence_wait] *ERROR* fence(f2d706c0:0x0000103F) 523ms timeout [drm:radeon_fence_wait] *ERROR* last signaled fence(0x0000103F) repeated many times. Btw workaround with RADEON_NO_TCL=1 works, and there is only minor decrease of fps. Changing summary.
Oh crap.. well... r32g32_sscaled still is not supported by the driver but somehow it passes ~0 as a vertex format through to hw, which in turn locks up the machine. You got lucky, the kernel managed to reset your GPU. What kernel version do you use?
Yeah, GPU reset is a great thing. My kernel: 2.6.33.5-112.fc13
With commit c1d91c490120b11fd1522b94d338e70fb38a82fb things have returned to original behavior (application crash).
The driver should no longer crash.
(In reply to comment #8) > The driver should no longer crash. Yes, no crash now. Still some effects are missing. I will keep this open until r32g32_sscaled software fallback is implemented.
I've committed the fallback, can you try now?
Everything looks good, closing. Thank you Marek.
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.