[Mesa-stable] [PATCH 1/2] anv: Put robust buffer access in the pipeline hash
Juan A. Suarez Romero
jasuarez at igalia.com
Fri Nov 23 14:29:18 UTC 2018
On Wed, 2018-11-21 at 17:20 -0600, Jason Ekstrand wrote:
> It affects apply_pipeline_layout. Shaders compiled with the wrong value
> will work but they may not be robust as requested by the app.
>
> Cc: mesa-stable at lists.freedesktop.org
Hi, Jason.
This patch does not apply cleanly in 18.2 branch. As the fix wasn't as trivial
as usual, it would be great if you can check the resolution at
https://gitlab.freedesktop.org/mesa/mesa/commit/35379ec233353d19d94994dfa43b205a6b5622b2
Thanks in advance!
J.A.
> ---
> src/intel/vulkan/anv_pipeline.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
> index ad0f08253e7..f170366d030 100644
> --- a/src/intel/vulkan/anv_pipeline.c
> +++ b/src/intel/vulkan/anv_pipeline.c
> @@ -446,6 +446,9 @@ anv_pipeline_hash_graphics(struct anv_pipeline *pipeline,
> if (layout)
> _mesa_sha1_update(&ctx, layout->sha1, sizeof(layout->sha1));
>
> + const bool rba = pipeline->device->robust_buffer_access;
> + _mesa_sha1_update(&ctx, &rba, sizeof(rba));
> +
> for (unsigned s = 0; s < MESA_SHADER_STAGES; s++) {
> if (stages[s].entrypoint)
> anv_pipeline_hash_shader(&ctx, &stages[s]);
> @@ -466,6 +469,9 @@ anv_pipeline_hash_compute(struct anv_pipeline *pipeline,
> if (layout)
> _mesa_sha1_update(&ctx, layout->sha1, sizeof(layout->sha1));
>
> + const bool rba = pipeline->device->robust_buffer_access;
> + _mesa_sha1_update(&ctx, &rba, sizeof(rba));
> +
> anv_pipeline_hash_shader(&ctx, stage);
>
> _mesa_sha1_final(&ctx, sha1_out);
More information about the mesa-stable
mailing list