[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