[Mesa-dev] [PATCH 03/12] i965/fs: Disable SIMD16 when a sampler message would be too long

Francisco Jerez currojerez at riseup.net
Fri Sep 18 07:23:49 PDT 2015


Neil Roberts <neil at linux.intel.com> writes:

> The maximum message length for a send message is 11. Some of the
> sampler message types have more than 5 arguments which means when they
> are doubled to accomodate the SIMD16 register size then the message is
> too long. This is important for the ld2dms_w message which will be
> used in a later patch because it up to 7 arguments.
> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index b4d0567..32a2adf 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -4100,6 +4100,11 @@ fs_visitor::lower_logical_sends()
>           continue;
>        }
>  
> +      if (dispatch_width < 16 &&
> +          (inst->mlen - inst->header_size) * 2 + inst->header_size >
> +          MAX_SAMPLER_MESSAGE_SIZE)
> +         no16("Sampler message would be too long in SIMD16 mode\n");
> +

NAK, these cases are already handled without disabling SIMD16 by
lowering the SIMD16 message into SIMD8 halves.  You just need to add a
case to get_lowered_simd_width() so that the SIMD lowering pass knows
what the maximum execution size is for your new sampler message.

>        progress = true;
>     }
>  
> -- 
> 1.9.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://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: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150918/bfebf1ca/attachment.sig>


More information about the mesa-dev mailing list