r600/sfn: add register remapping
authorGert Wollny <gert.wollny@collabora.com>
Fri, 27 Dec 2019 16:49:26 +0000 (17:49 +0100)
committerMarge Bot <eric+marge@anholt.net>
Mon, 10 Feb 2020 19:09:08 +0000 (19:09 +0000)
commit5c19013904ef0ae68c582cd6d77fe54331b36baa
tree5870042c3d625f8de83b39a9b97e7b630ea1adb4
parent393655d5cb2ae499783408d36a96e34257473fcf
r600/sfn: add register remapping

Make use of the live range evaluation to merge registers. Since the
live ranges are evaluated for register indices, the algorithm is not
optimal, but for most piglits up to glsl-3.3 it does the job.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
12 files changed:
src/gallium/drivers/r600/sfn/sfn_instruction_alu.cpp
src/gallium/drivers/r600/sfn/sfn_instruction_alu.h
src/gallium/drivers/r600/sfn/sfn_instruction_base.cpp
src/gallium/drivers/r600/sfn/sfn_instruction_base.h
src/gallium/drivers/r600/sfn/sfn_instruction_cf.cpp
src/gallium/drivers/r600/sfn/sfn_instruction_export.cpp
src/gallium/drivers/r600/sfn/sfn_instruction_export.h
src/gallium/drivers/r600/sfn/sfn_instruction_fetch.cpp
src/gallium/drivers/r600/sfn/sfn_instruction_fetch.h
src/gallium/drivers/r600/sfn/sfn_instruction_tex.cpp
src/gallium/drivers/r600/sfn/sfn_instruction_tex.h
src/gallium/drivers/r600/sfn/sfn_shader_base.h