From: Jason Ekstrand Date: Wed, 21 Nov 2018 23:15:37 +0000 (-0600) Subject: anv: Put robust buffer access in the pipeline hash X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=617e402b3d1be185f200b1667540096d9a8b2aec;p=mesa.git anv: Put robust buffer access in the pipeline hash 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@lists.freedesktop.org Reviewed-by: Iago Toral Quiroga --- 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);