Mesa (master): i965/fs: Add a function to resize fs_inst's sources array.

Matt Turner mattst88 at kemper.freedesktop.org
Sun Jun 1 20:26:20 UTC 2014


Module: Mesa
Branch: master
Commit: 521f9b9a48da586ca3352cea7f8bf7c49741cf0d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=521f9b9a48da586ca3352cea7f8bf7c49741cf0d

Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Feb 20 13:14:05 2014 -0800

i965/fs: Add a function to resize fs_inst's sources array.

Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_fs.cpp |    9 +++++++++
 src/mesa/drivers/dri/i965/brw_fs.h   |    2 ++
 2 files changed, 11 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 9ebb869..f23a946 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -111,6 +111,15 @@ fs_inst::fs_inst(const fs_inst &that)
       this->src[i] = that.src[i];
 }
 
+void
+fs_inst::resize_sources(uint8_t num_sources)
+{
+   if (this->sources != num_sources) {
+      this->src = reralloc(this, this->src, fs_reg, num_sources);
+      this->sources = num_sources;
+   }
+}
+
 #define ALU1(op)                                                        \
    fs_inst *                                                            \
    fs_visitor::op(fs_reg dst, fs_reg src0)                              \
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index fb68923..b7cfb3c 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -200,6 +200,8 @@ public:
            const fs_reg &src1, const fs_reg &src2);
    fs_inst(const fs_inst &that);
 
+   void resize_sources(uint8_t num_sources);
+
    bool equals(fs_inst *inst) const;
    bool overwrites_reg(const fs_reg &reg) const;
    bool is_send_from_grf() const;




More information about the mesa-commit mailing list