mesa/src
Rhys Perry 60c711833f aco: remove pack_half_2x16(a, 0) optimization
This makes the compiler less predictable and should only have a very small
effect on performance.

fossil-db (Vega):
Totals from 2410 (1.79% of 134756) affected shaders:
CodeSize: 6911568 -> 6942840 (+0.45%)

Fixes Horizon Zero Dawn artifacts.

If a shader has:
   a = pack_half_2x16(a, 0) //rtne
   store(pack_half_2x16(0, b) | a) //rtne
   a = unpack_2x16(a).x
It will become:
   store(pack_half_2x16(a, b)) //rtz
   a = unpack_2x16(pack_half_2x16(a, 0)).x //rtne

So a later shader with "unpack_2x16(load()).x" will use "a" rounded to
zero, while the previous shader will use "a" rounded to the nearest even.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 2f125908b3 ("radv,aco: lower_pack_half_2x16")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14475>
2022-01-10 22:19:29 +00:00
..
amd aco: remove pack_half_2x16(a, 0) optimization 2022-01-10 22:19:29 +00:00
android_stub
asahi glsl/nir: don't pass gl_context to the convertor routine. 2022-01-07 06:19:49 +00:00
broadcom ci: Uprev piglit to af1785f31 2022-01-10 21:52:42 +00:00
compiler nir/uniform_atomics: fix is_atomic_already_optimized without workgroups 2022-01-10 19:57:38 +00:00
drm-shim
egl egl/wayland: break double/tripple buffering feedback loops 2022-01-10 15:11:44 +00:00
etnaviv ci: Uprev piglit to af1785f31 2022-01-10 21:52:42 +00:00
freedreno ci: Uprev piglit to af1785f31 2022-01-10 21:52:42 +00:00
gallium ci: Uprev piglit to af1785f31 2022-01-10 21:52:42 +00:00
gbm gbm: Don't pass default usage flags on ABIs < 1 2021-12-08 09:49:47 +00:00
getopt
glx glx: remove a set but not used variable 2021-12-22 17:02:00 +00:00
gtest
hgl
imgui
intel isl: Don't enable HDC:L1 caches on DG2 2022-01-10 21:20:03 +00:00
loader loader: Restore i915g support. 2021-12-09 09:05:23 -08:00
mapi mapi: generate correct dispatch for EXT_draw_instanced 2022-01-03 21:37:34 +00:00
mesa glsl/nir: don't pass gl_context to the convertor routine. 2022-01-07 06:19:49 +00:00
microsoft d3d12: Handle memory barriers 2022-01-07 03:31:16 +00:00
nouveau
panfrost ci: Uprev piglit to af1785f31 2022-01-10 21:52:42 +00:00
tool
util util/primconvert: map only index buffer part that is needed 2022-01-07 16:35:43 +00:00
virtio venus: subtract appended header size in vn_CreatePipelineCache 2022-01-07 22:10:53 +00:00
vulkan radv: Add common entrypoint dependency. 2022-01-07 02:21:36 +00:00
meson.build meson: make mesa/tests/glx depend on gallium 2021-12-07 13:03:53 +00:00