mesa/src
Alyssa Rosenzweig 2f2738dc90 pan/bi: Use nir_lower_mem_access_bit_sizes
OpenCL can generate large loads and stores that we can't support, so we need to
lower. We can load/store up to 128-bits in a single go. We currently only handle
up to 32-bit components in the load and no more than vec4, so we split up
accordingly.

It's not clear to me what the requirements are for alignment on Valhall, so we
conservatively generate aligned access, at worst there's a performance penalty
in those cases. I think unaligned access is suppoerted, but likely with a
performance penalty of its own? So in the absence of hard data otherwise, let's
just use natural alignment.

Oddly, this shaves off a tiny bit of ALU in a few compute shaders on Valhall,
all in gfxbench. Seems to just be noise from the RA lottery.

total instructions in shared programs: 2686768 -> 2686756 (<.01%)
instructions in affected programs: 584 -> 572 (-2.05%)
helped: 6
HURT: 0
Instructions are helped.

total cvt in shared programs: 14644.33 -> 14644.14 (<.01%)
cvt in affected programs: 5.77 -> 5.58 (-3.25%)
helped: 6
HURT: 0

total quadwords in shared programs: 1455320 -> 1455312 (<.01%)
quadwords in affected programs: 56 -> 48 (-14.29%)
helped: 1
HURT: 0

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22228>
2023-04-13 01:49:33 +00:00
..
amd ac/nir/ngg: Don't store primitive IDs from culled primitives. 2023-04-12 23:55:37 +00:00
android_stub util/log: improve logger_android 2023-02-22 17:55:40 +00:00
asahi asahi: Add resource debugging 2023-04-07 03:23:04 +00:00
broadcom v3dv/ci: mark known dEQP-VK.wsi.xlib.surface.query_formats failure 2023-04-11 13:39:31 +00:00
c11 c11: Remove _MTX_INITIALIZER_NP for windows 2022-11-09 04:38:28 +00:00
compiler nir/lower_blend: Enable per-sample shading 2023-04-11 04:16:32 +00:00
drm-shim drm-shim: Use hide_drm_device_path() to hide other drm devices 2022-12-30 15:51:11 -08:00
egl egl: fix memory leak related to _eglRefreshDeviceList() 2023-04-11 15:48:26 +00:00
etnaviv ci/etnaviv: Polish the gc2000 xfails a bit. 2023-03-29 07:52:45 +00:00
freedreno freedreno/a5xx: add SP clock control register 2023-04-12 08:48:27 +00:00
gallium anv: add utrace tracking of frame boundaries 2023-04-13 01:14:38 +00:00
gbm gbm: drop unnecessary vulkan dependency 2023-02-23 18:31:22 +00:00
getopt
glx glx: Fix error handling yet again in CreateContextAttribs 2023-04-06 21:29:54 +00:00
gtest
imagination pvr: Use vk_features2_to_features 2023-04-07 18:16:40 -04:00
imgui
intel anv: add utrace tracking of frame boundaries 2023-04-13 01:14:38 +00:00
loader loader: Add Xe KMD support 2023-04-12 10:41:21 +00:00
mapi mesa: Add EXT_instanced_arrays support 2023-04-11 10:22:35 +00:00
mesa mesa: Add EXT_instanced_arrays support 2023-04-11 10:22:35 +00:00
microsoft dzn: Handle mismatches in bound descriptor set vs pipeline layout 2023-04-12 04:14:46 +00:00
nouveau nouveau: Enable frexp lowering in the backend. 2023-04-06 02:32:01 +00:00
panfrost pan/bi: Use nir_lower_mem_access_bit_sizes 2023-04-13 01:49:33 +00:00
tool pps: Fix build errors. 2023-03-13 01:22:46 +00:00
util util/disk_cache: Align atomic size. 2023-04-11 12:57:15 +00:00
virtio venus: forward ARM driverVersion for ANGLE workarounds 2023-04-11 03:17:56 +00:00
vulkan wsi: remove get_sorted_vk_formats duplication 2023-04-12 22:07:32 +00:00
meson.build hgl: remove 2023-02-18 00:44:43 +00:00