[Mesa-dev] [PATCH 18/24] i965: Update assertion to account for Gen < 7

Francisco Jerez currojerez at riseup.net
Thu Jun 30 22:37:40 UTC 2016


Ian Romanick <idr at freedesktop.org> writes:

> From: Ian Romanick <ian.d.romanick at intel.com>
>
> Previously SHADER_OPCODE_MULH could only exist on Gen7+, so the
> assertion assumed the Gen7+ accumulator rules.  A future patch will
> allow this instruction on at least Gen6, so update the assertion.
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 2f473cc..0a48df9 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -43,6 +43,9 @@
>  
>  using namespace brw;
>  
> +static unsigned get_fpu_lowered_simd_width(const struct brw_device_info *,
> +                                           const fs_inst *);
> +
>  void
>  fs_inst::init(enum opcode opcode, uint8_t exec_size, const fs_reg &dst,
>                const fs_reg *src, unsigned sources)
> @@ -3658,7 +3661,8 @@ fs_visitor::lower_integer_multiplication()
>  
>        } else if (inst->opcode == SHADER_OPCODE_MULH) {
>           /* Should have been lowered to 8-wide. */
> -         assert(inst->exec_size <= 8);
> +         assert(inst->exec_size <=
> +                (devinfo->gen >= 7 ? 8 : get_fpu_lowered_simd_width(devinfo, inst)));

Instead of get_fpu_lowered_simd_width you could call
get_lowered_simd_width, which expands to same conditional expression you
have put in the assertion for opcode == SHADER_OPCODE_MULH.

>           const fs_reg acc = retype(brw_acc_reg(inst->exec_size),
>                                     inst->dst.type);
>           fs_inst *mul = ibld.MUL(acc, inst->src[0], inst->src[1]);
> -- 
> 2.5.5
>
> _______________________________________________
> 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/20160630/18214ed8/attachment.sig>


More information about the mesa-dev mailing list