Mesa (master): i965/cs: Use exec all for CS terminate

Jordan Justen jljusten at kemper.freedesktop.org
Fri Jun 12 22:14:51 UTC 2015


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

Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Thu Jun 11 09:44:54 2015 -0700

i965/cs: Use exec all for CS terminate

This prevents an assertion from being hit with SIMD16:

Assertion `inst->exec_size == dispatch_width() || force_writemask_all' failed.

Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Francisco Jerez <currojerez at riseup.net>

---

 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index c41284b..588966b 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -1948,7 +1948,8 @@ fs_visitor::emit_cs_terminate()
    bld.exec_all().MOV(payload, g0);
 
    /* Send a message to the thread spawner to terminate the thread. */
-   fs_inst *inst = bld.emit(CS_OPCODE_CS_TERMINATE, reg_undef, payload);
+   fs_inst *inst = bld.exec_all()
+                      .emit(CS_OPCODE_CS_TERMINATE, reg_undef, payload);
    inst->eot = true;
 }
 




More information about the mesa-commit mailing list