mesa/src
Kenneth Graunke c0c05c1041 intel/brw: Fix destination stride assertion in copy propagation
We were asserting that entry->dst.offset % REG_SIZE == 0, which is
easily tripped by a simple LOAD_PAYLOAD that writes a 16-bit vec2:

    load_payload(8) vgrf1:UW, vgrf2+0.0:UW, vgrf3+0.0:UW

We create separate ACP entries corresponding to the values coming from
vgrf2 and vgrf3, with entry->dst set to the location within vgrf1 where
those sources get written to.  So the second entry will have offset 16,
which is not REG_SIZE aligned.

It looks like this assert was originally added back in 2014 (see commit
1728e74957) and adjusted through the ages,
including at a point when we combined reg and subreg offsets into a
single byte offset, and over time also extended copy propagation.

Here the destination offset is already accounted for via rel_offset,
at the byte offset level, so things ought to work and there is no need
to assert that this is the case.  Ian had already noted that the assert
tripped in commit e3f502e007, but checking
for inst->opcode == MOV here doesn't really make sense - it's just the
case that he found that broke.

Remove the erroneous assertion.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067>
2024-03-27 04:52:17 +00:00
..
amd radv/ci: add a bunch of flakes seen recently 2024-03-26 21:33:31 +00:00
android_stub
asahi asahi: derive ht 2024-03-12 19:41:49 +00:00
broadcom v3dv: fix image creation when exceeding maxResourceSize 2024-03-26 07:23:56 +00:00
c11
compiler clc: Move libclc helpers back to microsoft/clc 2024-03-26 20:12:41 +00:00
drm-shim drm-shim: Add io region handling in mmap 2024-03-19 10:22:34 +00:00
egl egl/wayland/sw: don't invert y wl_surface_damage_buffer 2024-03-24 17:27:21 +00:00
etnaviv etnaviv: Move swizzle related macros to scr/etnaviv 2024-03-25 10:27:50 +00:00
freedreno freedreno/registers: Add license header 2024-03-26 19:36:10 +00:00
gallium radv/ci: add a bunch of flakes seen recently 2024-03-26 21:33:31 +00:00
gbm gbm: Remove hardcoded color-channel data 2024-02-27 10:51:03 +00:00
getopt
glx treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
gtest
imagination treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
imgui
intel intel/brw: Fix destination stride assertion in copy propagation 2024-03-27 04:52:17 +00:00
loader loader/wayland: Add named queue fallback 2024-02-28 11:01:31 +00:00
mapi treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
mesa treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
microsoft microsoft/clc: Install clon12compiler 2024-03-26 20:12:41 +00:00
nouveau nak: Don't write undefined FS outputs 2024-03-26 05:57:12 +00:00
panfrost pan/bi: Update the push constant count when emitting load_push_constant 2024-03-26 11:10:44 +01:00
tool pps: Config tweaks to avoid loosing traces 2024-03-25 19:49:50 +00:00
util util: mimic KCMP_FILE via KERN_FILE on DragonFly and FreeBSD 2024-03-26 20:53:36 +00:00
virtio venus: add a more relaxed polling strategy 2024-03-26 00:37:24 +00:00
vulkan {vulkan,radv,anv}/video: fix issue in H264 scaling lists derivation 2024-03-27 00:19:32 +00:00
.clang-format ir3: allow liveness calculation for different register types 2024-03-01 13:45:10 +00:00
meson.build loader/wayland: Add fallback wl_display_dispatch_queue_timeout 2024-02-27 13:10:13 +00:00