diff options
author | Jason Ekstrand <[email protected]> | 2018-11-21 17:15:37 -0600 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-11-22 09:17:10 -0600 |
commit | 617e402b3d1be185f200b1667540096d9a8b2aec (patch) | |
tree | bf1252d2757ae23101c207349dcba6eca357c9e5 | |
parent | a845c2bc109f87010fb81fee257a7ec060db7b27 (diff) |
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: [email protected]
Reviewed-by: Iago Toral Quiroga <[email protected]>
-rw-r--r-- | src/intel/vulkan/anv_pipeline.c | 6 |
1 files changed, 6 insertions, 0 deletions
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); |