aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2016-09-01 19:36:23 -0700
committerFrancisco Jerez <[email protected]>2016-09-14 14:50:55 -0700
commitc057278c065747c1f53579504bf109cafb7cb390 (patch)
treed640dbc40550a1dcd2e039ee4acf52e56af71aa2 /src/mesa
parentb42c13a5b8ac7d643bbf4c1592607811a81b4ebb (diff)
i965/fs: Stop using fs_reg::in_range() in favor of regions_overlap().
Its only use left in the FS back-end should be using regions_overlap() instead to avoid getting a false negative result in cases where source and destination overlap but the former starts before the latter in the VGRF file. v2: Put back lost components factor (Iago). Reviewed-by: Iago Toral Quiroga <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_nir.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
index 42ed131854e..a5679a138ec 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
@@ -4820,7 +4820,9 @@ shuffle_64bit_data_for_32bit_write(const fs_builder &bld,
assert(type_sz(src.type) == 8);
assert(type_sz(dst.type) == 4);
- assert(!src.in_range(dst, 2 * components * bld.dispatch_width() / 8));
+ assert(!regions_overlap(
+ dst, 2 * components * dst.component_size(bld.dispatch_width()),
+ src, components * src.component_size(bld.dispatch_width())));
for (unsigned i = 0; i < components; i++) {
const fs_reg component_i = offset(src, bld, i);