mesa/src
Jason Ekstrand acb53b268f intel/vec4: Don't spill fp64 registers more than once
The way we handle spilling for fp64 in vec4 is to emit a series of MOVs
which swizzles the data around and then a pair of 32-bit spills.  This
works great except that the next time we go to pick a spill reg, the
compiler isn't smart enough to figure out that the register has already
been spilled.  Normally we do this by looking at the sources of spill
instructions (or destinations of fills) but, because it's separated from
the actual value by a MOV, we can't see it.  This commit adds a new
opcode VEC4_OPCODE_MOV_FOR_SCRATCH which is identical to MOV in
semantics except that it lets RA know not to spill again.

Fixes: 82c69426a5 "i965/vec4: support basic spilling of 64-bit registers"
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10571>
(cherry picked from commit 2db8867943)
2021-05-19 22:25:28 +02:00
..
amd aco: disallow SGPRs on DPP instructions 2021-05-19 22:25:24 +02:00
android_stub android: add some more stub functions for cross compilation 2021-03-25 06:06:16 +00:00
broadcom Revert "glx: Lift sending the MakeCurrent request to top-level code" 2021-04-18 22:13:21 +02:00
compiler nir/opt_access: fix getting variables in presence of similar bindings/desc 2021-05-18 23:34:14 +02:00
drm-shim drm-shim: report support for timeline semaphores 2021-02-09 21:08:52 +00:00
egl egl/x11: don't forget to exit the attrib list loop 2021-05-18 23:02:25 +02:00
etnaviv etnaviv: tell the truth if alpha-test is supported 2021-04-08 19:25:26 +00:00
freedreno ir3: memory_barrier also controls shared memory access order 2021-05-12 21:37:11 +02:00
gallium draw: Allocate extra padding for extra shader outputs. 2021-05-19 22:25:22 +02:00
gbm egl: fix software flag in _eglAddDevice call on DRM 2021-03-26 10:32:31 +00:00
getopt scons: Remove. 2021-03-20 10:38:55 +00:00
glx glx: revert "Downgrade sRGB-ful fbconfigs" 2021-05-03 23:55:02 +02:00
gtest
hgl hgl: Major refactor and cleanup 2021-01-09 20:51:35 -06:00
imgui
intel intel/vec4: Don't spill fp64 registers more than once 2021-05-19 22:25:28 +02:00
loader loader: prefer iris on Android 2021-03-31 06:28:18 +00:00
mapi mesa: fix incomplete GL_NV_half_float implementation 2021-04-26 19:05:42 +02:00
mesa i965: export GEM handle with RDWR access rights 2021-05-18 23:34:14 +02:00
microsoft microsoft/compiler: Fix MSVC warning C4334 (32bit shift cast to 64bit) 2021-04-20 19:43:26 +02:00
nouveau nouveau: add drm-shim support 2021-01-11 22:45:01 +00:00
panfrost panfrost: Always write reloaded tiles when making CRC data valid 2021-05-19 11:51:25 +02:00
util driconf: set vk_x11_strict_image_count for Metro: Exodus 2021-05-18 23:02:26 +02:00
virtio venus: Fix zero-initialized fd causing apps to hang/crash 2021-05-18 23:02:27 +02:00
vulkan vulkan: Support 32-bit "weak" symbols on MSVC 2021-05-18 23:02:27 +02:00
meson.build venus: add driver skeleton 2021-04-08 17:15:37 +00:00