mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
i965/fs: Move region_contained_in to the IR header and fix for non-VGRF files.
Also changed the argument names since 'src' and 'dst' don't make that much sense outside of the context of copy propagation. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
This commit is contained in:
parent
645261c4b2
commit
f2d2156ba2
2 changed files with 13 additions and 14 deletions
|
|
@ -332,20 +332,6 @@ can_take_stride(fs_inst *inst, unsigned arg, unsigned stride,
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that the register region read by src [src.offset,
|
||||
* src.offset + size_read[ is fully contained inside the register
|
||||
* region written by dst [dst.offset, dst.offset + size_written[.
|
||||
*/
|
||||
static inline bool
|
||||
region_contained_in(const fs_reg &src, unsigned size_read,
|
||||
const fs_reg &dst, unsigned size_written)
|
||||
{
|
||||
return src.file == dst.file && src.nr == dst.nr &&
|
||||
src.offset >= dst.offset &&
|
||||
src.offset + size_read <= dst.offset + size_written;
|
||||
}
|
||||
|
||||
bool
|
||||
fs_visitor::try_copy_propagate(fs_inst *inst, int arg, acp_entry *entry)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -228,6 +228,19 @@ regions_overlap(const fs_reg &r, unsigned dr, const fs_reg &s, unsigned ds)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that the register region given by r [r.offset, r.offset + dr[
|
||||
* is fully contained inside the register region given by s
|
||||
* [s.offset, s.offset + ds[.
|
||||
*/
|
||||
static inline bool
|
||||
region_contained_in(const fs_reg &r, unsigned dr, const fs_reg &s, unsigned ds)
|
||||
{
|
||||
return reg_space(r) == reg_space(s) &&
|
||||
reg_offset(r) >= reg_offset(s) &&
|
||||
reg_offset(r) + dr <= reg_offset(s) + ds;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return whether the given register region is n-periodic, i.e. whether the
|
||||
* original region remains invariant after shifting it by \p n scalar
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue