[Mesa-dev] [PATCH] anv: Only set 3DSTATE_PS::VectorMaskEnable on gen8+

Kenneth Graunke kenneth at whitecape.org
Wed Mar 13 23:52:47 UTC 2019


On Wednesday, March 13, 2019 4:25:24 PM PDT Jason Ekstrand wrote:
> We don't set it on HSW and earlier in i965 and disabling it appears to
> make derivatives somewhat more reliable.
> 
> Cc: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/intel/vulkan/genX_pipeline.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
> index 975052deb79..3767e5033c5 100644
> --- a/src/intel/vulkan/genX_pipeline.c
> +++ b/src/intel/vulkan/genX_pipeline.c
> @@ -1761,7 +1761,7 @@ emit_3dstate_ps(struct anv_pipeline *pipeline,
>                                 brw_wm_prog_data_prog_offset(wm_prog_data, ps, 2);
>  
>        ps.SingleProgramFlow          = false;
> -      ps.VectorMaskEnable           = true;
> +      ps.VectorMaskEnable           = GEN_GEN >= 8;
>        /* WA_1606682166 */
>        ps.SamplerCount               = GEN_GEN == 11 ? 0 : get_sampler_count(fs_bin);
>        /* Gen 11 workarounds table #2056 WABTPPrefetchDisable */
> 

I have no idea why it would behave any differently, but something
definitely changed with Broadwell.  If we don't set it on Gen8+,
derivatives go horribly wrong - basic Piglit tests fail.  It seems
like setting it should be the right thing.  But I never observed it
to matter at all on pre-Gen8.  Not sure why.

Acked-by: Kenneth Graunke <kenneth at whitecape.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190313/0ee9c668/attachment.sig>


More information about the mesa-dev mailing list