[Mesa-dev] [PATCH 1/2] anv: Put robust buffer access in the pipeline hash

Iago Toral itoral at igalia.com
Thu Nov 22 07:06:47 UTC 2018


For both patches:

Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

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
> ---
>  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-dev mailing list