[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