<div dir="ltr">On 26 August 2013 22:00, Matt Turner <span dir="ltr"><<a href="mailto:mattst88@gmail.com" target="_blank">mattst88@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks Paul.<br>
<br>
I've placed this patch as 2.5/15 in the series.<br>
<br>
i965/fs: Assert that ir_expressions are usable by 3-src instructions<br>
<br>
MAD will be generated directly from ir_triop_fma, so this assertion<br>
checks that all ir_expressions are usable.<br></blockquote><div><br></div><div>Reviewed-by: Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

---<br>
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp<br>
b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp<br>
index 27887d6..a02d92d 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp<br>
@@ -336,6 +336,7 @@ fs_visitor::visit(ir_expression *ir)<br>
         ir->operands[operand]->print();<br>
          printf("\n");<br>
       }<br>
+      assert(this->result.is_valid_3src());<br></blockquote><div><br></div><div>I spent a while trying to think of a commet that could go above the assert, to help someone who stumbles across it in the future and wonders why the assertion is here rather than in the switch statement below, but I couldn't really think of anything :(<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
       op[operand] = this->result;<br>
<br>
       /* Matrix expression operands should have been broken down to vector<br>
</blockquote></div><br></div></div>