Neil Roberts <n...@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@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to