|Summary:||Nouveau 3D driver: nv50_pc_emit.c:863 assertion error kills Compiz|
|Product:||Mesa||Reporter:||Sense Hofstede <sense>|
|Component:||Drivers/DRI/nouveau||Assignee:||Nouveau Project <nouveau>|
|Status:||RESOLVED FIXED||QA Contact:|
|i915 platform:||i915 features:|
Description Sense Hofstede 2011-02-11 07:06:23 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>. StacktraceTop: __kernel_vsyscall () *__GI_raise (sig=6) *__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!
Comment 1 Omer Akram 2011-02-11 07:54:41 UTC
Also to add this is used to work with mesa 7.9 the update to 7.10 broke things.
Comment 2 Christopher James Halse Rogers 2011-02-14 18:32:17 UTC
This is fixed by the nv50 part of the commit: commit 7401590dedf6f2abb1f0f0db988be90acb1fb84f 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 --- a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c +++ b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c @@ -1130,7 +1130,7 @@ emit_fetch(struct bld_context *bld, const struct tgsi_full_instruction *insn, case TGSI_FILE_INPUT: res = bld_saved_input(bld, idx, swz); if (res && (insn->Instruction.Opcode != TGSI_OPCODE_TXP)) - return res; + break; res = new_value(bld->pc, bld->ti->input_file, type); res->reg.id = bld->ti->input_map[idx][swz];
Comment 3 Christopher James Halse Rogers 2011-02-14 18:39:20 UTC
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 :).