Ilia Mirkin
2014-Feb-14 05:35 UTC
[Nouveau] Regression caused by 2e9ee44797 ("nv50/ir/ra: some register spilling fixes")
Hi Christoph, bin/shader_runner tests/spec/glsl-1.40/uniform_buffer/fs-struct-copy-complicated.shader_test -auto bin/shader_runner tests/spec/glsl-1.40/uniform_buffer/vs-struct-copy-complicated.shader_test -auto bin/shader_runner tests/spec/glsl-1.50/uniform_buffer/gs-struct-copy-complicated.shader_test -auto Now all segfault. I reverted 2e9ee44797 ("nv50/ir/ra: some register spilling fixes") on top of HEAD, and it's all fine again. This is on NV96. I know that this commit fixed a bunch of stuff on NVC0+, so it'd be nice to get everything working together all at once :) Below is a backtrace... looks like slot == NULL. Let me know if you need anything else from me. Thanks, -ilia Program received signal SIGSEGV, Segmentation fault. 0x00007ffff2756598 in nv50_ir::SpillCodeInserter::unspill ( this=0x7fffffffd160, usei=0x76a9a0, lval=0xc08f30, slot=0x0) at codegen/nv50_ir_ra.cpp:1514 1514 if (slot->reg.file == FILE_MEMORY_LOCAL) { (gdb) bt #0 0x00007ffff2756598 in nv50_ir::SpillCodeInserter::unspill ( this=0x7fffffffd160, usei=0x76a9a0, lval=0xc08f30, slot=0x0) at codegen/nv50_ir_ra.cpp:1514 #1 0x00007ffff2756919 in nv50_ir::SpillCodeInserter::run ( Python Exception <type 'exceptions.IndexError'> list index out of range: this=0x7fffffffd160, lst=std::list) at codegen/nv50_ir_ra.cpp:1566 #2 0x00007ffff27559dd in nv50_ir::GCRA::allocateRegisters ( this=0x7fffffffd1c0, insns=...) at codegen/nv50_ir_ra.cpp:1373 #3 0x00007ffff275700a in nv50_ir::RegAlloc::execFunc (this=0x7fffffffd530) at codegen/nv50_ir_ra.cpp:1662 #4 0x00007ffff2756ba6 in nv50_ir::RegAlloc::exec (this=0x7fffffffd530) at codegen/nv50_ir_ra.cpp:1602 #5 0x00007ffff27573a8 in nv50_ir::Program::registerAllocation (this=0x748cc0) at codegen/nv50_ir_ra.cpp:1709 #6 0x00007ffff270a72d in nv50_ir_generate_code (info=0x7477c0) at codegen/nv50_ir.cpp:1204 #7 0x00007ffff2781233 in nv50_program_translate (prog=0x744400, chipset=150) at nv50/nv50_program.c:362 #8 0x00007ffff2782117 in nv50_program_validate (nv50=0x63d6d0, prog=0x744400) at nv50/nv50_shader_state.c:117 #9 0x00007ffff278243e in nv50_fragprog_validate (nv50=0x63d6d0) at nv50/nv50_shader_state.c:175 #10 0x00007ffff2773007 in nv50_state_validate (nv50=0x63d6d0, mask=4294967295, words=8) at nv50/nv50_state_validate.c:451
Reasonably Related Threads
- [PATCH 2/4] nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions
- commit 0a1479c829 breaks glsl-fs-lots-of-tex.shader_test on nv50/nvc0
- Tessellation shaders get MEM_OUT_OF_BOUNDS errors / missing triangles
- [Bug 68348] New: [piglit] shaders/glsl-array-bounds-02 (+even nrs) produces TRAP , TRAP_MP - TP0: Unhandled ustatus 0x00000001
- [LLVMdev] DebugIR pass fails with an assert