nv50/ir: fix cutoff for using r63 vs r127 when replacing zero
authorIlia Mirkin <imirkin@alum.mit.edu>
Wed, 9 Dec 2015 02:01:15 +0000 (21:01 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Wed, 9 Dec 2015 04:15:29 +0000 (23:15 -0500)
The only effect here is a space savings - 822 programs in shader-db
affected with the following overall change:

total bytes used in shared programs   : 44154976 -> 44139880 (-0.03%)

Fixes: 641eda0c (nv50/ir: r63 is only 0 if we are using less than 63 registers)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp

index df44a7b..64f5fc0 100644 (file)
@@ -202,7 +202,8 @@ NV50LegalizePostRA::visit(Function *fn)
    Program *prog = fn->getProgram();
 
    r63 = new_LValue(fn, FILE_GPR);
-   if (prog->maxGPR < 63)
+   // GPR units on nv50 are in half-regs
+   if (prog->maxGPR < 126)
       r63->reg.data.id = 63;
    else
       r63->reg.data.id = 127;