[Nouveau] [Bug 79462] New: [NVC0/Codegen] Shader compilation falis in spill logic
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri May 30 11:44:00 PDT 2014
https://bugs.freedesktop.org/show_bug.cgi?id=79462
Priority: medium
Bug ID: 79462
Assignee: nouveau at lists.freedesktop.org
Summary: [NVC0/Codegen] Shader compilation falis in spill logic
Severity: normal
Classification: Unclassified
OS: All
Reporter: imirkin at alum.mit.edu
Hardware: Other
Status: NEW
Version: unspecified
Component: Drivers/DRI/nouveau
Product: Mesa
Created attachment 100179
--> https://bugs.freedesktop.org/attachment.cgi?id=100179&action=edit
failing tgsi shader
The attached shader fails in the RA step, when inserting spill code:
nv50_ir::SpillCodeInserter::run (this=0x7ffffffec0c0, lst=std::list)
at codegen/nv50_ir_ra.cpp:1561
1561 while (!dval->uses.empty()) {
Easily reproduced with nouveau_compiler -a c0. Apparently this shader is
generated as part of the d3d9 st, with skyrimlauncher, when it's trying to
detect the graphics card.
dval is null, which means that something out there isn't an lvalue. Or, in this
case, apparently a null value??
(gdb) p *defi
$4 = {_vptr.Instruction = 0x86e570, next = 0x0, prev = 0x0, id = -1, serial =
27, op = nv50_ir::OP_SPLIT,
dType = nv50_ir::TYPE_B128, sType = nv50_ir::TYPE_B128, cc = nv50_ir::CC_TR,
rnd = nv50_ir::ROUND_N,
cache = nv50_ir::CACHE_CA, subOp = 0, encSize = 0, saturate = 0, join = 0,
fixed = 0, terminator = 0,
ftz = 0, dnz = 0, ipa = 0, lanes = 15, perPatch = 0, exit = 0, mask = 0,
postFactor = 0 '\000',
predSrc = -1 '\377', flagsDef = -1 '\377', flagsSrc = -1 '\377', sched = 0,
bb = 0x0,
defs = std::deque with 4 elements = {{value = 0x0, origin = 0x0, insn =
0x200}, {value = 0x85ce30,
origin = 0x7ffff71a0698 <main_arena+88>, insn = 0x9e5e40}, {value = 0x0,
origin = 0x0,
insn = 0x9e5e40}, {value = 0x0, origin = 0x0, insn = 0x9e5e40}},
srcs = std::deque with 1 elements = {{mod = {bits = 0 '\000'}, indirect =
"\377\377",
swizzle = 0 '\000', usedAsPtr = false, value = 0x0, insn = 0x200}}}
Note that the second def isn't null but the others are? Perhaps this happens as
part of dead code elimination? Need to investigate more.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20140530/cd1df88c/attachment-0001.html>
More information about the Nouveau
mailing list