mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 09:48:07 +02:00
ir3: fix crash in try_evict_regs with src reg
try_evict_regs might end up calling check_dst_overlap which only works
for dst regs. Make sure this doesn't happen for src regs.
Fixes: 34803d15ab ("ir3/ra: Add proper support for multiple destinations")
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29497>
This commit is contained in:
parent
c24aad5867
commit
023c7351f2
1 changed files with 3 additions and 2 deletions
|
|
@ -870,8 +870,9 @@ try_evict_regs(struct ra_ctx *ctx, struct ra_file *file,
|
|||
unsigned conflicting_size =
|
||||
conflicting->physreg_end - conflicting->physreg_start;
|
||||
if (size >= conflicting_size &&
|
||||
!check_dst_overlap(ctx, file, reg, avail_start, avail_start +
|
||||
conflicting_size)) {
|
||||
(is_source ||
|
||||
!check_dst_overlap(ctx, file, reg, avail_start,
|
||||
avail_start + conflicting_size))) {
|
||||
for (unsigned i = 0;
|
||||
i < conflicting->physreg_end - conflicting->physreg_start; i++)
|
||||
BITSET_CLEAR(available_to_evict, avail_start + i);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue