• Ilia Mirkin's avatar
    nv50/ir/ra: enforce max register requirement, and change spill order · beb66d37
    Ilia Mirkin authored
    On nv50, certain operations must happen on regs below 64, due to
    encoding requirements. First of all, we add infrastructure to enforce
    this. Secondly we change the spill order to first spill RIG nodes that
    are unconstrained, followed by ones that are.
    
    This makes the gamecube logo shadertoy compile properly. Curiously, if
    we adjust the spill order so that we first spill the constrained RIG
    nodes instead, the RA also succeeds. However it seems more logical to
    first spill the unconstrained ones.
    
    While we're at it, drop the nv50 max register to reserve r127 as the
    zero register of last resort (r63 is preferred).
    Signed-off-by: 's avatarIlia Mirkin <imirkin@alum.mit.edu>
    Acked-by: 's avatarKarol Herbst <kherbst@redhat.com>
    beb66d37
Name
Last commit
Last update
bin Loading commit data...
build-support Loading commit data...
docs Loading commit data...
doxygen Loading commit data...
include Loading commit data...
m4 Loading commit data...
scons Loading commit data...
scripts Loading commit data...
src Loading commit data...
.dir-locals.el Loading commit data...
.editorconfig Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
Android.common.mk Loading commit data...
Android.mk Loading commit data...
CleanSpec.mk Loading commit data...
Makefile.am Loading commit data...
README.rst Loading commit data...
REVIEWERS Loading commit data...
SConstruct Loading commit data...
VERSION Loading commit data...
appveyor.yml Loading commit data...
autogen.sh Loading commit data...
common.py Loading commit data...
configure.ac Loading commit data...
install-gallium-links.mk Loading commit data...
install-lib-links.mk Loading commit data...
meson.build Loading commit data...
meson_options.txt Loading commit data...