mesa/src
Alyssa Rosenzweig 08e0c5a9cf agx: Fuse compares into selects
This lets us save a LOT of instructions at the cost of increased register
pressure. However, on my shader-db, this is still coming out ahead since no
shaders are hurt for thread count/spills, and only 1/10 of the shaders helped
for instruction count are hurt for register pressure. The shaders most hurt
for pressure have very low pressure (7 -> 15 is the worst case) and you need a
certain number of registers to use a 4 source instruction at all. Analyzing the
hurt shaders, nothing concerns me too much ... this isn't as bad as I feared.

So I think at this point it's worth ripping off the bandage, given the massive
potential for instruction count win. This is a big improvement for some of the
shaders I'm working on for my $SECRET_PROJECT.

   total instructions in shared programs: 1784943 -> 1775169 (-0.55%)
   instructions in affected programs: 644211 -> 634437 (-1.52%)
   helped: 3498
   HURT: 38
   Instructions are helped.

   total bytes in shared programs: 11720734 -> 11643224 (-0.66%)
   bytes in affected programs: 4370986 -> 4293476 (-1.77%)
   helped: 3572
   HURT: 36
   Bytes are helped.

   total halfregs in shared programs: 474094 -> 475165 (0.23%)
   halfregs in affected programs: 12821 -> 13892 (8.35%)
   helped: 65
   HURT: 247
   Halfregs are HURT.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25052>
2023-09-05 18:50:34 +00:00
..
amd radv/amdgpu: do not copy the original chain link for IBs 2023-09-05 12:38:33 +00:00
android_stub util/log: improve logger_android 2023-02-22 17:55:40 +00:00
asahi agx: Fuse compares into selects 2023-09-05 18:50:34 +00:00
broadcom v3dv/android: Skip swapchain binding 2023-09-04 10:59:38 +00:00
c11 util/meson: Getting mesa util core to be self contained 2023-08-02 03:41:24 +00:00
compiler isaspec: Make possible to obtain gpu_id in <expr> blocks 2023-09-05 16:19:29 +00:00
drm-shim drm-shim: Avoid assertion fail if someone does close(-1). 2023-06-01 01:50:41 +00:00
egl egl: bind dri2_set_WL_bind_wayland_display for zink when necessary 2023-08-31 17:54:26 +00:00
etnaviv etnaviv: Fully replicate back stencil config 2023-08-22 12:00:27 +02:00
freedreno tu/a7xx: Disable LRZ 2023-09-05 16:19:30 +00:00
gallium asahi: Allow no16 flag for disk cache 2023-09-05 18:50:34 +00:00
gbm egl/drm: Assume modern DRI interface versions 2023-07-28 12:25:19 +00:00
getopt
glx glx: Advertise GLX_MESA_gl_interop extension if support present 2023-08-19 01:08:30 +00:00
gtest gtest: backport ansi color fix 2023-08-18 21:33:14 +00:00
imagination pvr: Implement VK_KHR_format_feature_flags2 2023-09-05 13:15:30 +00:00
imgui
intel intel/nir: rerun lower_tex if it lowers something 2023-09-05 13:35:51 +00:00
loader dri3: only invalidate drawables on geometry change if geometry has changed 2023-06-15 12:22:24 +00:00
mapi glthread: sync for VDPAU sync functions 2023-08-17 04:53:37 +00:00
mesa mesa: remove GL_UNSIGNED_BYTE as supported for snorm reads 2023-09-01 10:37:43 +00:00
microsoft treewide: Use nir_before/after_impl for more elaborate cases 2023-08-30 19:30:58 +00:00
nouveau nvk: add build_id linker argument. 2023-09-01 04:00:13 +00:00
panfrost ci: Disable known broken Bifrost Vulkan job 2023-09-02 13:32:17 +00:00
tool meson: remove needless c++17-overrides 2023-05-19 12:45:31 +00:00
util driconf: Disable fp16 for browsers 2023-09-05 18:50:34 +00:00
virtio venus: expose at least one cached memory type 2023-08-28 18:21:48 +00:00
vulkan vk/graphics_state: Fix copying MS locations pipeline state 2023-09-05 18:09:41 +00:00
.clang-format clang-format: Disable formatting by default 2023-08-13 16:48:49 +02:00
meson.build nvk: add vulkan skeleton 2023-08-04 21:31:52 +00:00