anv: Define trampolines as the weak functions
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 15 Oct 2018 03:20:17 +0000 (22:20 -0500)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 19 Oct 2018 16:52:00 +0000 (11:52 -0500)
commit0d380af8097cf85122596041af1a611a8139de18
treec4576e62a1e955f9836e81c1becb50970492014e
parentf8e789d2acf32166d359f1b1d8db1e8859b2b11a
anv: Define trampolines as the weak functions

Instead of having weak references to the anv functions and separate
trampoline functions with their own dispatch table, just make the
trampoline functions weak.  This gets rid of a dispatch table and
potentially lets the compiler delete the unused weak function.  The
end result is a reduction in the .text section of 5.7K and a reduction
in the .data section of 1.4K.

Before:

   text    data     bss     dec     hex filename
3190329  282232    8960 3481521  351fb1 _install/lib64/libvulkan_intel.so

After:

   text    data     bss     dec     hex filename
3184548  280792    8960 3474300  35037c _install/lib64/libvulkan_intel.so

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_device.c
src/intel/vulkan/anv_entrypoints_gen.py