Mesa (master): i965: Add asserts to ensure that ir_tg4 offset arrays are lowered

Chris Forbes chrisf at kemper.freedesktop.org
Sat Oct 26 09:28:56 UTC 2013


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

Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Thu Oct 10 21:40:46 2013 +1300

i965: Add asserts to ensure that ir_tg4 offset arrays are lowered

We don't have a message that does 4 independent offsets; a lowering
pass needs to lower it to 4 normal gather4s before reaching this
point.

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

---

 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp   |    3 +++
 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index 1d2da8c..4d41f9d 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -1569,6 +1569,9 @@ fs_visitor::visit(ir_texture *ir)
    /* Should be lowered by do_lower_texture_projection */
    assert(!ir->projector);
 
+   /* Should be lowered */
+   assert(!ir->offset || !ir->offset->type->is_array());
+
    /* Generate code to compute all the subexpression trees.  This has to be
     * done before loading any values into MRFs for the sampler message since
     * generating these values may involve SEND messages that need the MRFs.
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index 5b792e0..1854325 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@ -2186,6 +2186,9 @@ vec4_visitor::visit(ir_texture *ir)
    /* Should be lowered by do_lower_texture_projection */
    assert(!ir->projector);
 
+   /* Should be lowered */
+   assert(!ir->offset || !ir->offset->type->is_array());
+
    /* Generate code to compute all the subexpression trees.  This has to be
     * done before loading any values into MRFs for the sampler message since
     * generating these values may involve SEND messages that need the MRFs.




More information about the mesa-commit mailing list