i965/disasm: print NibCtrl for instructions with execsize < 8
authorIago Toral Quiroga <itoral@igalia.com>
Fri, 17 Jun 2016 06:21:19 +0000 (08:21 +0200)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Tue, 3 Jan 2017 10:26:51 +0000 (11:26 +0100)
v2 (Curro):
  - Print it also for execsize < 4.
  - QtrCtrl is still in effect, so print 2 * qtr_ctl + nib_ctl + 1
  - Do not read the nib ctl from the instruction in gen < 7,
    the field only exists in gen7+.

Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_disasm.c

index aaad47d..b38636a 100644 (file)
@@ -1193,7 +1193,11 @@ qtr_ctrl(FILE *file, const struct gen_device_info *devinfo, brw_inst *inst)
    int qtr_ctl = brw_inst_qtr_control(devinfo, inst);
    int exec_size = 1 << brw_inst_exec_size(devinfo, inst);
 
-   if (exec_size == 8) {
+   if (exec_size < 8) {
+      const unsigned nib_ctl = devinfo->gen < 7 ? 0 :
+                               brw_inst_nib_control(devinfo, inst);
+      format(file, " %dN", qtr_ctl * 2 + nib_ctl + 1);
+   } else if (exec_size == 8) {
       switch (qtr_ctl) {
       case 0:
          string(file, " 1Q");