From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ@public.gmane.org Subject: [Bug 79462] New: [NVC0/Codegen] Shader compilation falis in spill logic Date: Fri, 30 May 2014 18:44:00 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1492208214==" Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org --===============1492208214== Content-Type: multipart/alternative; boundary="1401475439.0bADa0AD0.13512"; charset="us-ascii" --1401475439.0bADa0AD0.13512 Date: Fri, 30 May 2014 18:43:59 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" https://bugs.freedesktop.org/show_bug.cgi?id=79462 Priority: medium Bug ID: 79462 Assignee: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Summary: [NVC0/Codegen] Shader compilation falis in spill logic Severity: normal Classification: Unclassified OS: All Reporter: imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org 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 , 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. --1401475439.0bADa0AD0.13512 Date: Fri, 30 May 2014 18:43:59 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"
Priority medium
Bug ID 79462
Assignee nouveau@lists.freedesktop.org
Summary [NVC0/Codegen] Shader compilation falis in spill logic
Severity normal
Classification Unclassified
OS All
Reporter imirkin@alum.mit.edu
Hardware Other
Status NEW
Version unspecified
Component Drivers/DRI/nouveau
Product Mesa

Created attachment 100179 [details]
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.
--1401475439.0bADa0AD0.13512-- --===============1492208214== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Nouveau mailing list Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org http://lists.freedesktop.org/mailman/listinfo/nouveau --===============1492208214==--