anv/pipeline: make FragCoord include sample positions when sample shading
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 23 Mar 2017 10:56:06 +0000 (11:56 +0100)
committerIago Toral Quiroga <itoral@igalia.com>
Fri, 24 Mar 2017 07:11:53 +0000 (08:11 +0100)
commitddb2bb3ed4c6ebff38be5acb0566894eec0c66ae
tree7bafd96d9a58b982d67f36fd3593a11cffd6389f
parent023ea3772dfcd81e6a5822a1812ff991d68cccd8
anv/pipeline: make FragCoord include sample positions when sample shading

We need to know if sample shading has been requested during shader
compilation since that affects the way fragment coordinates are
computed.

Notice that the semantics of fragment coordinates only depend on
whether sample shading has been requested, not on whether more
than one sample will actually be produced (that is,
minSampleShading and rasterizationSamples do not affect this
behavior).

Because this setting affects the code we generate for the shader, we also
need to include it in the WM prog key. Notice we don't need to alter the
OpenGL code because it doesn't ever use this behavior, so they key's
value is always false (the default).

Fixes:
dEQP-VK.glsl.builtin_var.fragcoord_msaa.*

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_compiler.h
src/intel/vulkan/anv_pipeline.c
src/intel/vulkan/anv_private.h