On Wednesday, March 21, 2018 2:06:16 PM PDT Matt Turner wrote:
> From Message Descriptor section in gfxspecs:
> 
>   "Memory fence messages without Commit Enable set do not return
>    anything to the thread (response length is 0 and destination
>    register is null)."
> 
> This fixes a GPU hang in simulation in the piglit test
> arb_shader_image_load_store-shader-mem-barrier
> 
> The mem fence message doesn't send any data, and previously we were
> setting the SEND's src0 to the same register as the destination. I've
> kept that behavior, so src0 will now be the null register in a number of
> cases, necessitating a few changes in the EU validator. The simulator
> and real hardware seem to be okay with this.
> ---
>  src/intel/compiler/brw_eu_emit.c        |  4 ++--
>  src/intel/compiler/brw_eu_validate.c    | 13 +++++++++++--
>  src/intel/compiler/brw_fs_nir.cpp       | 14 +++++++++++---
>  src/intel/compiler/test_eu_validate.cpp |  9 +++++++++
>  4 files changed, 33 insertions(+), 7 deletions(-)

NAK on using NULL registers as SEND message sources.  It won't end well.

Attachment: signature.asc
Description: This is a digitally signed message part.

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

Reply via email to