[Mesa-dev] [PATCH 28/51] intel/compiler/fs: Use component_size() instead of open coded

Topi Pohjolainen topi.pohjolainen at gmail.com
Fri Nov 24 12:26:55 UTC 2017


This prepares for following patch will add 16-bit tex/fb write
payload padding support.

Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
 src/intel/compiler/brw_fs.cpp                  | 2 +-
 src/intel/compiler/brw_fs_copy_propagation.cpp | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
index 0d415e2393..cedfde5096 100644
--- a/src/intel/compiler/brw_fs.cpp
+++ b/src/intel/compiler/brw_fs.cpp
@@ -639,7 +639,7 @@ bool
 fs_inst::is_partial_write() const
 {
    return ((this->predicate && this->opcode != BRW_OPCODE_SEL) ||
-           (this->exec_size * type_sz(this->dst.type)) < 32 ||
+           dst.component_size(exec_size) < 32 ||
            !this->dst.is_contiguous() ||
            this->dst.offset % REG_SIZE != 0);
 }
diff --git a/src/intel/compiler/brw_fs_copy_propagation.cpp b/src/intel/compiler/brw_fs_copy_propagation.cpp
index 470eaeec4f..ed2511ecfa 100644
--- a/src/intel/compiler/brw_fs_copy_propagation.cpp
+++ b/src/intel/compiler/brw_fs_copy_propagation.cpp
@@ -801,8 +801,8 @@ fs_visitor::opt_copy_propagation_local(void *copy_prop_ctx, bblock_t *block,
          for (int i = 0; i < inst->sources; i++) {
             int effective_width = i < inst->header_size ? 8 : inst->exec_size;
             assert(effective_width * MAX2(4, type_sz(inst->src[i].type)) % REG_SIZE == 0);
-            const unsigned size_written = effective_width *
-                                          type_sz(inst->src[i].type);
+            const unsigned size_written =
+               inst->src[i].component_size(effective_width);
             if (inst->src[i].file == VGRF) {
                acp_entry *entry = rzalloc(copy_prop_ctx, acp_entry);
                entry->dst = byte_offset(inst->dst, offset);
-- 
2.11.0



More information about the mesa-dev mailing list