From 4dba1ad93f4c2a61217f4e827e9cbbd9e91bdeed Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Tue, 4 Feb 2025 23:29:04 +0200 Subject: [PATCH] vulkan/runtime: ensure robustness state is fully initialized This is part of the hashing key : ==25753== Uninitialised byte(s) found during client check request ==25753== at 0x93D29AE: blob_write_bytes (blob.c:164) ==25753== by 0x93A62C6: vk_pipeline_precomp_shader_serialize (vk_pipeline.c:722) ==25753== by 0x93AC55E: vk_pipeline_cache_add_object (vk_pipeline_cache.c:433) ==25753== by 0x93A691B: vk_pipeline_precompile_shader (vk_pipeline.c:875) ==25753== by 0x93A8FB9: vk_create_graphics_pipeline (vk_pipeline.c:1715) ==25753== by 0x93A9799: vk_common_CreateGraphicsPipelines (vk_pipeline.c:1860) ==25753== Address 0xf1adf82 is 82 bytes inside a block of size 152 alloc'd ==25753== at 0x64FA858: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==25753== by 0x99AAC38: vk_default_alloc (vk_alloc.c:26) ==25753== by 0x93A403B: vk_alloc (vk_alloc.h:48) ==25753== by 0x93A406B: vk_zalloc (vk_alloc.h:56) ==25753== by 0x93A60A0: vk_pipeline_precomp_shader_create (vk_pipeline.c:680) ==25753== by 0x93A689D: vk_pipeline_precompile_shader (vk_pipeline.c:866) ==25753== by 0x93A8FB9: vk_create_graphics_pipeline (vk_pipeline.c:1715) ==25753== by 0x93A9799: vk_common_CreateGraphicsPipelines (vk_pipeline.c:1860) Signed-off-by: Lionel Landwerlin Fixes: 9308e8d90d ("vulkan: Add generic graphics and compute VkPipeline implementations") Reviewed-by: Faith Ekstrand Part-of: --- src/vulkan/runtime/vk_pipeline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vulkan/runtime/vk_pipeline.c b/src/vulkan/runtime/vk_pipeline.c index b1fe3145c8c..07a53292021 100644 --- a/src/vulkan/runtime/vk_pipeline.c +++ b/src/vulkan/runtime/vk_pipeline.c @@ -824,7 +824,7 @@ vk_pipeline_precompile_shader(struct vk_device *device, const struct vk_device_shader_ops *ops = device->shader_ops; VkResult result; - struct vk_pipeline_robustness_state rs; + struct vk_pipeline_robustness_state rs = { 0 }; vk_pipeline_robustness_state_fill(device, &rs, pipeline_info_pNext, info->pNext);