From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 91726] R600 asserts in tgsi_cmp/make_src_for_op3
Date: Sat, 22 Aug 2015 21:12:55 +0000
Message-ID:
Bug ID
91726
Summary
R600 asserts in tgsi_cmp/make_src_for_op3
Product
Mesa
Version
git
Hardware
x86 (IA32)
OS
All
Status
NEW
Severity
major
Priority
medium
Component
Drivers/Gallium/r600
Assignee
dri-devel@lists.freedesktop.org
Reporter
ikalvachev@gmail.com
QA Contact
dri-devel@lists.freedesktop.org
Created attachment 117866 [details]
Four shaders causing the problem in TGSI code. Created by Nine. Included
backtraces by winedbg.
The exact error message is:
---
r600_shader.c:4891: tgsi_make_src_for_op3: Assertion `temp!=0' failed.
...
4 0x7dddf84c tgsi_make_src_for_op3+0x66(ctx=0xc9d930, temp=0, chan=0,
bc_src=0xc9d120, shader_src=0xc9e3e0)
[/tmp/mesa-11.0.99/src/gallium/drivers/r600/r600_shader.c:4891] in
d3dadapter9.so.1 (0x00000000)
5 0x7dddf9fd tgsi_cmp+0xeb(ctx=0xc9d930)
[/tmp/mesa-11.0.99/src/gallium/drivers/r600/r600_shader.c:6154] in
d3dadapter9.so.1 (0x00c9d930)
6 0x7dde633a r600_shader_from_tgsi+0xb6d(rctx=0x7cf0eb50, pipeshader=<is not
available>, key={ps={nr_cbufs=0x2, color_two_side=0, alpha_to_one=0},
vs={prim_id_out=0x2, as_es=0, as_gs_a=0}})
[/tmp/mesa-11.0.99/src/gallium/drivers/r600/r600_shader.c:2199] in
d3dadapter9.so.1 (0x6a8d4c00)
---
My hardware is Radeon HD5670 (Redwood). I've used Mesa
git807b1e5b05dacd46b5f563f5c6e561e660a2872e.
I'm attaching a file containing 4 different shaders triggering this issue. It's
created by running 4 different trace samples (of the games
BorderlandsPreSequel, FullMojo, WorldOfTanks, Prototype2). Then extracting the
last shader. In all cases the last shader is only in TGSI code, no R600
compiled version is available and R600_DEBUG=nosb doesn't workaround this
issue.
The issue is reproducible only with Nine. The native wined3d opengl wrapper
seems to work fine.
That's why I've first reported the issue to the iXit tracker:
https://github.com/iXit/Mesa-3D/issues/131
To reproduce the issue you'd need Mesa git compiled with Nine support; Wine
patched with iXit Nine; apitrace for windows (pre-build available at their
download page); some of the trace files from the ixit ftp or the original game.
"World of Tanks" is free2play (I haven't tried it myself yet).
If you need more info, feel free to ask me.