[Mesa-dev] [PATCH 05/10] i965/vec4: Mark TCS_OPCODE_SRC0_010_IS_ZERO as writing the flag.

Francisco Jerez currojerez at riseup.net
Tue Mar 15 00:10:26 UTC 2016


Matt Turner <mattst88 at gmail.com> writes:

> Missing this causes an assertion failure in the scheduler with the next
> patch.
> ---
>  src/mesa/drivers/dri/i965/brw_ir_vec4.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_ir_vec4.h b/src/mesa/drivers/dri/i965/brw_ir_vec4.h
> index 660beca..7cedf8e 100644
> --- a/src/mesa/drivers/dri/i965/brw_ir_vec4.h
> +++ b/src/mesa/drivers/dri/i965/brw_ir_vec4.h
> @@ -201,7 +201,8 @@ public:
>     {
>        return (conditional_mod && (opcode != BRW_OPCODE_SEL &&
>                                    opcode != BRW_OPCODE_IF &&
> -                                  opcode != BRW_OPCODE_WHILE));
> +                                  opcode != BRW_OPCODE_WHILE)) ||
> +             opcode == TCS_OPCODE_SRC0_010_IS_ZERO;

Meh...  Any reason this weird instruction doesn't have the
conditional_mod set on creation?  Having the generator set it implicitly
makes the instruction *less* useful and is the only reason we need to
introduce these hacks.

AFAICT the TCS_OPCODE_SRC0_010_IS_ZERO opcode is actually redundant and
equivalent to:

 broadcast.nz.f0 null.xyzw, src.xxxx, 0UD

Do you feel like cleaning this up?  Otherwise:

Acked-by: Francisco Jerez <currojerez at riseup.net>

>     }
>  };
>  
> -- 
> 2.4.10
>
> _______________________________________________
> 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/20160314/5e8cf10f/attachment-0001.sig>


More information about the mesa-dev mailing list