intel/fs: Generalize fs_reg::is_contiguous() to register files other than VGRF.
authorFrancisco Jerez <currojerez@riseup.net>
Thu, 2 Jan 2020 23:32:56 +0000 (15:32 -0800)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 17 Jan 2020 21:20:59 +0000 (13:20 -0800)
No functional nor shader-db changes.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/compiler/brw_fs.cpp

index dfe5b2a7282ddd26e1f23aa051b7614f6b2a67f3..ef2cd177d665529a90dffc5474ba7608b4914a6b 100644 (file)
@@ -564,7 +564,22 @@ fs_reg::negative_equals(const fs_reg &r) const
 bool
 fs_reg::is_contiguous() const
 {
-   return stride == 1;
+   switch (file) {
+   case ARF:
+   case FIXED_GRF:
+      return hstride == BRW_HORIZONTAL_STRIDE_1 &&
+             vstride == width + hstride;
+   case MRF:
+   case VGRF:
+   case ATTR:
+      return stride == 1;
+   case UNIFORM:
+   case IMM:
+   case BAD_FILE:
+      return true;
+   }
+
+   unreachable("Invalid register file");
 }
 
 unsigned