mesa/src
Rhys Perry 6f0505d49e spirv: run nir_copy_prop before nir_rematerialize_derefs_in_use_blocks_impl
spirv_to_nir sometimes wraps derefs in vec2 or mov instructions as part of
its texture handling. These get in the way of
nir_rematerialize_derefs_in_use_blocks_impl. Running copy propagation
should get rid of the extra move instructions and get us back to intact
deref chains for everything except variable pointer use-cases.

fossil-db (Sienna Cichlid):
Totals from 6 (0.00% of 134572) affected shaders:
CodeSize: 92656 -> 93088 (+0.47%)
Instrs: 17060 -> 17138 (+0.46%)
Latency: 224408 -> 227539 (+1.40%)
InvThroughput: 37402 -> 37924 (+1.40%)
VClause: 408 -> 402 (-1.47%)
Copies: 1065 -> 1107 (+3.94%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5668
Fixes: 14a12b771d ("spirv: Rework our handling of images and samplers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13924>
(cherry picked from commit b425100781)
2021-12-01 18:55:47 +00:00
..
amd radv: fix emitting VBO when vertex input dynamic state is used 2021-12-01 18:55:47 +00:00
android_stub android_stub: update platform headers to include atrace 2021-10-09 00:42:32 +00:00
asahi nir: add indirect loop unrolling to compiler options 2021-08-03 10:54:50 +00:00
broadcom broadcom/compiler: don't move ldvary earlier if current instruction has ldunif 2021-12-01 18:55:46 +00:00
compiler spirv: run nir_copy_prop before nir_rematerialize_derefs_in_use_blocks_impl 2021-12-01 18:55:47 +00:00
drm-shim drm-shim: Support kernels with >4k pages 2021-08-13 23:33:52 +00:00
egl egl/wayland: Properly clear stale buffers on resize 2021-10-20 20:40:58 +01:00
etnaviv ci/deqp-runner: Rename the deqp-drivername-*.txt files to drivername-*.txt 2021-11-10 21:57:57 +00:00
freedreno ir3/lower_pcopy: Fix bug with "illegal" copies and swaps 2021-12-01 18:55:47 +00:00
gallium svga: fix bitwise/logical and mixup 2021-12-01 18:55:47 +00:00
gbm gbm: assume USE_SCANOUT in create_with_modifiers 2021-10-01 00:02:36 +02:00
getopt
glx glx/dri3: fix glXQueryContext does not return GLX_RENDER_TYPE value 2021-12-01 18:55:46 +00:00
gtest
hgl
imgui
intel intel/fs: fix shader call lowering pass 2021-12-01 18:55:47 +00:00
loader loader/dri3: fix swap out of order when changing swap interval 2021-09-30 03:27:14 +00:00
mapi mesa: GL_ARB_ES3_2_compatibility GL compat profile support 2021-09-23 11:10:23 +00:00
mesa mesa: fix buffer overrun in SavedObj texture obj array 2021-11-17 20:06:21 +00:00
microsoft microsoft/spirv_to_dxil: turn sysvals into input varyings 2021-10-27 19:58:10 +01:00
nouveau
panfrost nir/lower_pntc_ytransform: Support PointCoordIsSysval 2021-11-17 20:06:20 +00:00
tool pps: Panfrost pps driver 2021-07-13 11:03:55 +00:00
util util/ra: Fix deserialization of register sets 2021-11-17 20:06:19 +00:00
virtio venus: Use the common WSI wrappers 2021-10-13 00:06:15 +00:00
vulkan vulkan/util: Include stdlib.h 2021-11-17 20:06:22 +00:00
meson.build radv: Allow building when LLVM isn’t enabled 2021-10-01 10:40:18 +02:00