Bugzilla – Bug 34179
Nouveau 3D driver: nv50_pc_emit.c:863 assertion error kills Compiz
Last modified: 2012-11-01 22:07:59 UTC
When you use the experimental Gallium3D driver of Nouveau to enable DRI, Compiz will actually try to run, but it will be abort because of the following assertion error:
"compiz: nv50_pc_emit.c:863: emit_flop: Assertion `STYPE(i, 0) == 0x09' failed."
It seems that this only happens with PCI-E cards that have the NV50 chip.
There is an 'xorg.log' at <http://launchpadlibrarian.net/63209980/XorgLog.txt>. An unprocessed stacktrace can be found at <http://launchpadlibrarian.net/63209976/Stacktrace.txt>, the stacktrace processed by Apport at <http://launchpadlibrarian.net/63321404/Stacktrace.txt>.
*__GI_abort () at abort.c:59
This bug was originally reported by several people in Ubuntu on Launchpad, the master bug report can be found at <https://launchpad.net/bugs/710588>. You can find many more log files at this bug report, and attached to its duplicates.
If you need something specifically, please ask!
Also to add this is used to work with mesa 7.9 the update to 7.10 broke things.
This is fixed by the nv50 part of the commit:
Author: Christoph Bumiller <firstname.lastname@example.org>
Date: Mon Feb 7 14:54:17 2011 +0100
nv50,nvc0: do not forget to apply sign mode to saved TGSI inputs
diff --git a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c
index d6b80c3..ce9300a 100644
@@ -1130,7 +1130,7 @@ emit_fetch(struct bld_context *bld, const struct tgsi_full_instruction *insn,
res = bld_saved_input(bld, idx, swz);
if (res && (insn->Instruction.Opcode != TGSI_OPCODE_TXP))
- return res;
res = new_value(bld->pc, bld->ti->input_file, type);
res->reg.id = bld->ti->input_map[idx][swz];
I've done a piglit run on my NV98 system against the 7.10 branch; this shows no difference with or without the cherry-pick. So this doesn't regress anything obvious, but there's also clearly a piglit test to be written :).