i965: Drop mark_surface_used mechanism.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 29 Dec 2018 01:54:57 +0000 (17:54 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Sun, 13 Jan 2019 17:35:32 +0000 (09:35 -0800)
commit04c2f12ab28d61d30f9cb008edb9039c610dfb5f
tree10f196589ea74704a1ff57d445138a1896e34f28
parentbdf6a5c1d2e01aed88a338c403f28a4b9898068e
i965: Drop mark_surface_used mechanism.

The original idea was that the backend compiler could eliminate
surfaces, so we would have it mark which ones are actually used,
then shrink the binding table accordingly.  Unfortunately, it's a
pretty blunt mechanism - it can only prune things from the end,
not the middle - since we decide the layout before we even start
the backend compiler, and only limit the size.  It also basically
gives up if it sees indirect array access.

Besides, we do the vast majority of our surface elimination in NIR
anyway, not the backend - and I don't see that trend changing any
time soon.  Vulkan abandoned this plan a long time ago, and I don't
use it in Iris, but it's still been kicking around in i965.

I hacked shader-db to print the binding table size in bytes, and
observed no changes with this patch.  So, this code appears to do
nothing useful.

Acked-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_compiler.h
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs_generator.cpp
src/intel/compiler/brw_fs_nir.cpp
src/intel/compiler/brw_vec4_generator.cpp
src/intel/compiler/brw_vec4_nir.cpp
src/intel/compiler/brw_vec4_visitor.cpp
src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp
src/mesa/drivers/dri/i965/brw_program.c
src/mesa/drivers/dri/i965/brw_wm.c