i965/fs: Refactor fs_inst::is_send_from_grf()
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 13 Sep 2014 18:49:55 +0000 (11:49 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 30 Sep 2014 17:29:14 +0000 (10:29 -0700)
A switch statement is much easier to read/edit than a big giant or
statement.

Signed-off-by: Jason Ekstrand <jason.ekstrand@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_fs.cpp

index e93010b59f52f21764aeb3f2e0c24de521ca2ae0..99a33bd06477c622e44ff12fe2a4487d81bf3dbc 100644 (file)
@@ -368,15 +368,22 @@ fs_inst::overwrites_reg(const fs_reg &reg) const
 bool
 fs_inst::is_send_from_grf() const
 {
-   return (opcode == FS_OPCODE_VARYING_PULL_CONSTANT_LOAD_GEN7 ||
-           opcode == SHADER_OPCODE_SHADER_TIME_ADD ||
-           opcode == FS_OPCODE_INTERPOLATE_AT_CENTROID ||
-           opcode == FS_OPCODE_INTERPOLATE_AT_SAMPLE ||
-           opcode == FS_OPCODE_INTERPOLATE_AT_SHARED_OFFSET ||
-           opcode == FS_OPCODE_INTERPOLATE_AT_PER_SLOT_OFFSET ||
-           (opcode == FS_OPCODE_UNIFORM_PULL_CONSTANT_LOAD &&
-            src[1].file == GRF) ||
-           (is_tex() && src[0].file == GRF));
+   switch (opcode) {
+   case FS_OPCODE_VARYING_PULL_CONSTANT_LOAD_GEN7:
+   case SHADER_OPCODE_SHADER_TIME_ADD:
+   case FS_OPCODE_INTERPOLATE_AT_CENTROID:
+   case FS_OPCODE_INTERPOLATE_AT_SAMPLE:
+   case FS_OPCODE_INTERPOLATE_AT_SHARED_OFFSET:
+   case FS_OPCODE_INTERPOLATE_AT_PER_SLOT_OFFSET:
+      return true;
+   case FS_OPCODE_UNIFORM_PULL_CONSTANT_LOAD:
+      return src[1].file == GRF;
+   default:
+      if (is_tex())
+         return src[0].file == GRF;
+
+      return false;
+   }
 }
 
 bool