[Mesa-dev] [PATCH 43/95] i965/disasm: print NibCtrl for instructions with execsize 4

Francisco Jerez currojerez at riseup.net
Mon Aug 8 22:58:39 UTC 2016


Iago Toral Quiroga <itoral at igalia.com> writes:

> ---
>  src/mesa/drivers/dri/i965/brw_disasm.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c b/src/mesa/drivers/dri/i965/brw_disasm.c
> index c8bdeab..d5e9916 100644
> --- a/src/mesa/drivers/dri/i965/brw_disasm.c
> +++ b/src/mesa/drivers/dri/i965/brw_disasm.c
> @@ -1169,7 +1169,13 @@ qtr_ctrl(FILE *file, const struct brw_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 == 4) {

I guess it wouldn't hurt to show this for exec_size < 4 too even though
it will typically be 1N.

> +      int nib_ctl = brw_inst_nib_control(devinfo, inst);

This may cause an assertion failure on SNB and earlier because the
NibCtrl field doesn't exist.  You could do something along the lines of:

| const unsigned nib_ctl = devinfo->gen < 7 ? 0 :
|                          brw_inst_nib_control(devinfo, inst);

> +      if (nib_ctl == 0)
> +         string(file, " 1N");
> +      else
> +         string(file, " 2N");

The usual qtr_ctl field is still taken into account by the hardware
regardless of whether you use NibCtrl, this should probably be:

| format(file, " %dN", qtr_ctl * 2 + nib_ctl + 1);

> +   } else if (exec_size == 8) {
>        switch (qtr_ctl) {
>        case 0:
>           string(file, " 1Q");
> -- 
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160808/e61f2b82/attachment.sig>


More information about the mesa-dev mailing list