Created attachment 117861 [details] The shader causing the problem as TGSI and R600 bytecode. Created by Nine. The exact error message is: sb/sb_sched.cpp:251:unreserve: Assertion `rp[cycle][chan] == sel && uc[cycle][chan]' failed. It doesn't trigger if I replay with "R600_DEBUG=nobs". My hardware is Radeon HD5670 (Redwood). I have attached part of the log created by "R600_DEBUG=vs,ps" containing the TGSI code and the unoptimized R600 bytecode. The bug is reproduced by replaying d3d9 trace of the game "The Forest". The trace file has been uploaded to ixit ftp server. You need d3dretrace.exe (from apitrace compiled for windows) and wine. It is preferable is wine have ixit Nine patch and mesa-git with Nine enabled. The bug is reproduced by both Nine state tracker and by the OpenGL one (when using vanilla wined3d opengl wrapper). Since the the OpenGL TGSI code is different, I'm attaching it too. If you need more info, feel free to ask me.
Created attachment 117862 [details] The shader causing the problem as TGSI and R600 bytecode. Created by OpenGL
Adding Glenn, hopefully he can solve this... Looks like he already knows more about that stuff than I remember about it.
Created attachment 117875 [details] The shader causing the problem as original D3D code and TGSI created by Nine. Since the shader is having some undefined values, there is a chance the original D3D shader is not entirely correct. That's why I've extracted it (NINE_DEBUG=shader NINE_TGSI_DUMP=1).
Commits 608c7b a83022 36f199 should fix the crashes in this trace
Yes, these commits fix all r600 issues in the sample. Don't forget to backport them to the stable branches.
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.