mesa/src
Lionel Landwerlin ca2a1340a2 nir/lower_shader_calls: avoid respilling values
Currently we do something like this :

  ssa_0 = ...
  ssa_1 = ...
  * spill ssa_0, ssa_1
  call1()
  * fill ssa_0, ssa_1
  ssa_2 = ...
  ssa_3 = ...
  * spill ssa_0, ssa_1, ssa_2, ssa_3
  call2()
  * fill ssa_0, ssa_1, ssa_2, ssa_3

If we assign the same possition to ssa_0 & ssa_1 in the spilling
stack, then on call2(), we know that those values are already present
in memory at the right location and we can avoid respilling them.

The result would be something like this :

  ssa_0 = ...
  ssa_1 = ...
  * spill ssa_0, ssa_1
  call1()
  * fill ssa_0, ssa_1
  ssa_2 = ...
  ssa_3 = ...
  * spill ssa_2, ssa_3
  call2()
  * fill ssa_0, ssa_1, ssa_2, ssa_3

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556>
2022-10-26 12:53:25 +00:00
..
amd aco: add support for device clock on GFX11 2022-10-25 20:23:08 +02:00
android_stub
asahi agx: Use agx_nir_opt_preamble 2022-10-22 15:00:12 -04:00
broadcom broadcom/compiler: call nir_opt_gcm with a custom strategy 2022-10-26 12:29:30 +00:00
c11 c11: Getting the macro guard of HAVE_PTHREAD in c11/threads.h to be consistence with util/u_uthread.h 2022-10-20 03:04:56 +00:00
compiler nir/lower_shader_calls: avoid respilling values 2022-10-26 12:53:25 +00:00
drm-shim drm-shim: drop gnu99 override 2022-09-16 02:06:38 +00:00
egl egl: fix error string for dri2_create_image_dma_buf() 2022-10-21 14:57:25 +00:00
etnaviv util/mesa/wide: Rename _SIMPLE_MTX_INITIALIZER_NP to SIMPLE_MTX_INITIALIZER 2022-10-14 03:27:41 +00:00
freedreno ci/freedreno: Update known flakes/timeouts. 2022-10-25 23:55:43 +00:00
gallium broadcom/compiler: add more lowerings/optimizations on v3d_optimize_nir 2022-10-26 12:29:30 +00:00
gbm Android: Use libgbm_mesa name for SDK30+ 2022-09-12 07:37:27 +00:00
getopt
glx glx: Adot #ifdef GLX_USE_WINDOWSGL in #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 2022-10-20 17:06:10 +00:00
gtest gtest: Fix maybe-uninitialized compiler warning 2022-06-29 21:02:18 +00:00
hgl
imagination pvr: Change pvr_get_hw_clear_color() to pack based on accum formats. 2022-10-25 10:15:09 +00:00
imgui
intel hasvk: Nuke code around local memory 2022-10-23 16:33:20 -07:00
loader loader/dri3: Add DRI performance option to wait for next buffer on swap 2022-10-25 08:30:35 +00:00
mapi mapi: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in stub.c 2022-10-20 01:32:47 +00:00
mesa mesa: Fix stack corruption for PIPE_QUERY_TIMESTAMP 2022-10-24 19:43:03 +00:00
microsoft microsoft/spirv2dxil: Support pack_32_2x16 and pack_32_4x8 2022-10-24 17:39:59 +00:00
nouveau nv50: call nir_lower_flrp 2022-10-10 17:22:49 +00:00
panfrost panfrost: Use proper formats for pntc varying 2022-10-26 01:56:08 +00:00
tool pps: enable track_event in intel.cfg 2022-10-09 22:39:53 +03:00
util util: #include "c11/threads.h" instead of #include "util/u_cpu_detect.h" u_format.c 2022-10-25 11:06:05 +00:00
virtio venus: drop duplicated YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT 2022-10-20 21:38:44 +00:00
vulkan vulkan: wsi: fix musl build 2022-10-24 15:39:06 +00:00
meson.build meson: Remove usage of use_elf_tls 2022-07-29 23:59:11 +00:00