Requiring a 4th component to be free when only 3 is needed for compounds limits the RA's options.
total instructions in shared programs : 7696203 -> 7695915 (-0.00%) total gprs used in shared programs : 804270 -> 802998 (-0.16%) total shared used in shared programs : 639636 -> 639636 (0.00%) total local used in shared programs : 24648 -> 24648 (0.00%) local shared gpr inst bytes helped 0 0 862 205 205 hurt 0 0 119 109 109 --- src/gallium/drivers/nouveau/codegen/nv50_ir_util.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_util.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_util.cpp index 1daf778e93..64f6c0f01d 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_util.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_util.cpp @@ -340,7 +340,9 @@ int BitSet::findFreeRange(unsigned int count) const if (data[i] != 0xffffffff) { uint32_t b = (data[i] >> 0) | (data[i] >> 1) | - (data[i] >> 2) | (data[i] >> 3) | 0xeeeeeeee; + (data[i] >> 2) | 0xeeeeeeee; + if (count == 4) + b |= data[i] >> 3; pos = ffs(~b) - 1; if (pos >= 0) break; -- 2.17.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev