anv: set UAV coherence required bit when needed
authorIago Toral Quiroga <itoral@igalia.com>
Mon, 16 Jan 2017 10:51:50 +0000 (11:51 +0100)
committerIago Toral Quiroga <itoral@igalia.com>
Tue, 17 Jan 2017 06:57:04 +0000 (07:57 +0100)
commit9fe9db8031f4979fde0849855c6aca1a83432f4e
treea120f5f934b6620090737f3737bd9c5e161b0b1a
parentff0dd67d2f9fc7cc240da732153ac4fac4e8d04d
anv: set UAV coherence required bit when needed

The same we do in the OpenGL driver (comment copied from there).

This is required to ensure that we execute the fragment shader stage when
side-effects (such as image or ssbo stores) are present but there are no
color writes.

I found this while writing a test to check rendering to a framebuffer
without attachments where the fragment shader does not produce any
color outputs but writes to an image via imageStore(). Without this patch
the fragment shader does not execute and the image is not written,
which is not correct.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/vulkan/genX_pipeline.c