From 69d3d7288e5d3cdd55f486fc712ff068fcbed62c Mon Sep 17 00:00:00 2001 From: "Juan A. Suarez Romero" Date: Mon, 30 Dec 2024 16:54:26 +0100 Subject: [PATCH] v3dv: fix assigned value is garbage or undefined MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is actually a false positive detected by static analyzer, because it assumes that `device->instance->meta_cache_enabled` can change between two execution points. In order to instruct static analyzer this is not the case, we assing it to a local variable, and do the checks based on that. Reviewed-by: Alejandro PiƱeiro Reviewed-by: Iago Toral Quiroga Signed-off-by: Juan A. Suarez Romero Part-of: --- src/broadcom/vulkan/v3dv_meta_clear.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_meta_clear.c b/src/broadcom/vulkan/v3dv_meta_clear.c index 81f8646ddfd..2338e60e464 100644 --- a/src/broadcom/vulkan/v3dv_meta_clear.c +++ b/src/broadcom/vulkan/v3dv_meta_clear.c @@ -950,7 +950,9 @@ get_depth_clear_pipeline(struct v3dv_cmd_buffer *cmd_buffer, assert(vk_format_is_depth_or_stencil(format)); uint64_t key; - if (device->instance->meta_cache_enabled) { + bool meta_cache_enabled = device->instance->meta_cache_enabled; + + if (meta_cache_enabled) { key = get_depth_clear_pipeline_cache_key(aspects, format, samples, is_layered, has_multiview); mtx_lock(&device->meta.mtx); @@ -982,7 +984,7 @@ get_depth_clear_pipeline(struct v3dv_cmd_buffer *cmd_buffer, if (result != VK_SUCCESS) goto fail; - if (device->instance->meta_cache_enabled) { + if (meta_cache_enabled) { (*pipeline)->key = key; _mesa_hash_table_insert(device->meta.depth_clear.cache, &(*pipeline)->key, *pipeline);