[Mesa-dev] [PATCH 22/53] intel/fs: Disable SIMD32 dispatch on Gen4-6 with control flow

Francisco Jerez currojerez at riseup.net
Sat May 26 03:10:11 UTC 2018


Jason Ekstrand <jason at jlekstrand.net> writes:

> On May 25, 2018 15:19:25 Matt Turner <mattst88 at gmail.com> wrote:
>
>> On Thu, May 24, 2018 at 2:56 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
>>> From: Francisco Jerez <currojerez at riseup.net>
>>>
>>> The hardware's control flow logic is 16-wide so we're out of luck
>>> here.  We could, in theory, support SIMD32 if we know the control-flow
>>> is uniform but we don't have that information at this point.
>>
>> This is what the "fork" instruction is for on Gen6 :)
>
> Yeah, Curro pointed that out too...
>
>

The main problem about the fork instruction is that it prevents the
compiler from interleaving code from the low and high channel groups
within control flow, which largely defeats the purpose of SIMD32 of
amortizing instruction latency costs.  The other problem is that it
would involve substantial effort and it is... well... SNB-specific,
earlier platforms still won't get support for non-uniform control flow
in SIMD32, and newer platforms don't need it.  Probably not worth the
effort...

>
> _______________________________________________
> 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: 227 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180525/68e6aced/attachment.sig>


More information about the mesa-dev mailing list