[Mesa-dev] [PATCH] i965: Handle BRW_OPCODE_DO on Gen6+ in brw_instruction_name().

Matt Turner mattst88 at gmail.com
Mon May 9 22:59:01 UTC 2016


This became a problem after the recent disassembler changes.
---
 src/mesa/drivers/dri/i965/brw_shader.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index f3d7c77..75536dd 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -167,6 +167,12 @@ brw_instruction_name(const struct brw_device_info *devinfo, enum opcode op)
 {
    switch (op) {
    case BRW_OPCODE_ILLEGAL ... BRW_OPCODE_NOP:
+      /* The DO instruction doesn't exist on Gen6+, but we use it to mark the
+       * start of a loop in the IR.
+       */
+      if (devinfo->gen >= 6 && op == BRW_OPCODE_DO)
+         return "do";
+
       assert(brw_opcode_desc(devinfo, op)->name);
       return brw_opcode_desc(devinfo, op)->name;
    case FS_OPCODE_FB_WRITE:
-- 
2.7.3



More information about the mesa-dev mailing list