mesa/src
Karmjit Mahil 21baf2f6c1 tu: Fix memory leaks on VK_PIPELINE_COMPILE_REQUIRED
For a TU_PIPELINE_GRAPHICS_LIB we were taking a ref to the descriptor
set layout but never releasing on VK_PIPELINE_COMPILE_REQUIRED.
Since VK_PIPELINE_COMPILE_REQUIRED is technically an error, the user
doesn't call vkDestroyPipeline() for it so the descriptor sets
referenced were never getting freed.

Addresses:
```
Direct leak of 304 byte(s) in 1 object(s) allocated from:
    #0 0x7fa5a93ee0 in __interceptor_malloc
       ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7fa44bac84 in vk_default_alloc ../src/vulkan/util/vk_alloc.c:26
    #2 0x7fa32ea5d8 in vk_alloc ../src/vulkan/util/vk_alloc.h:48
    #3 0x7fa32ea60c in vk_zalloc ../src/vulkan/util/vk_alloc.h:56
    #4 0x7fa32ea750 in vk_descriptor_set_layout_zalloc
       ../src/vulkan/runtime/vk_descriptor_set_layout.c:49
    #5 0x7fa306fc98 in tu_CreateDescriptorSetLayout(VkDevice_T*,
       VkDescriptorSetLayoutCreateInfo const*, VkAllocationCallbacks
const*, VkDescriptorSetLayout_T**)
../src/freedreno/vulkan/tu_descriptor_set.cc:161
```
and
```
Direct leak of 48 byte(s) in 1 object(s) allocated from:
    #0 0x7f9b4b3ee0 in __interceptor_malloc
       ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f9925e900 in ralloc_size ../src/util/ralloc.c:118
    #2 0x7f9925e8d4 in ralloc_context ../src/util/ralloc.c:105
    #3 0x7f98b4b214 in tu_pipeline_builder_build<(chip)7>
       ../src/freedreno/vulkan/tu_pipeline.cc:3898
    #4 0x7f98b46bd8 in tu_graphics_pipeline_create<(chip)7>
       ../src/freedreno/vulkan/tu_pipeline.cc:4203
    #5 0x7f98b22588 in VkResult
       tu_CreateGraphicsPipelines<(chip)7>(VkDevice_T*,
VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*,
VkAllocationCallbacks const*, VkPipeline_T**)
../src/freedreno/vulkan/tu_pipeline.cc:4234
```
seen in:
dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag

Cc: mesa-stable
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32188>
2024-11-20 18:52:35 +00:00
..
amd aco: remove Pseudo_instruction::tmp_in_scc 2024-11-20 11:04:32 +00:00
android_stub
asahi agx: make needs_g13x_coherency a tri-state 2024-11-20 16:10:11 +00:00
broadcom rpi4/ci: Increase timeout for rusticl jobs. 2024-11-20 14:09:04 +00:00
c11 build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
compiler compiler: make glsl_sampler_dim available to CL 2024-11-20 16:53:51 +00:00
drm-shim drm-shim: stub synobj_timeline_wait and query ioctl 2024-07-16 11:17:59 +02:00
egl vulkan/wsi/wayland: Pace frames with commit-timing-v1 2024-11-07 00:03:23 +00:00
etnaviv etnaviv: drm: use list_first_entry 2024-11-20 13:08:28 +00:00
freedreno tu: Fix memory leaks on VK_PIPELINE_COMPILE_REQUIRED 2024-11-20 18:52:35 +00:00
gallium panfrost: switch to u_tristate 2024-11-20 16:10:11 +00:00
gbm gbm/dri: Fix color format for big endian. 2024-10-25 14:18:24 +00:00
getopt build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
gfxstream gfxstream: change output location 2024-11-18 17:16:28 +00:00
glx glx: avoid null-deref 2024-11-18 09:13:14 +00:00
gtest build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
imagination pvr: Make Vulkan driver depend only on nir headers, not library 2024-10-23 16:47:34 +00:00
imgui
intel anv: Fix feature pipelineProtectedAccess 2024-11-20 04:31:54 +00:00
loader loader: Fix typo in __DRI_IMAGE_FORMAT_XBGR16161616 definition 2024-10-25 14:18:24 +00:00
mapi meson: remove selinux option 2024-10-21 01:14:35 +00:00
mesa nir: make use_interpolated_input_intrinsics a nir_lower_io parameter 2024-11-20 02:45:37 +00:00
microsoft nir_lower_mem_access_bit_sizes: pass access to callback 2024-11-13 12:59:26 +00:00
nouveau nir: make use_interpolated_input_intrinsics a nir_lower_io parameter 2024-11-20 02:45:37 +00:00
panfrost panvk: implement sampleRateShading 2024-11-20 15:16:18 +00:00
tool perfetto: Add Panfrost data sources to system.cfg 2024-08-22 18:33:45 +00:00
util util: add u_tristate data structure 2024-11-20 16:10:11 +00:00
virtio virgl: Propagate the GL_MAX_stage_SHADER_STORAGE_BLOCKS for each stage 2024-11-08 12:26:06 +00:00
vulkan vulkan: Avoid pointer aliasing 2024-11-16 03:14:31 +00:00
x11 meson: require dri3 modifiers 2024-09-06 17:34:17 +00:00
.clang-format panfrost: Move ForEachMacros into panfrost 2024-09-12 20:04:58 +00:00
meson.build mesa: add gfxstream-experimental to -Dvulkan-drivers 2024-09-19 20:06:04 +00:00