lavapipe: don't leak the temporary msaa resource

The temporary resource created for render_to_single_sampled was never freed,
hence asan complaining.
Let's fix this before announcing support for msaa 8x in lavapipe, which
otehrwise causes more failures there.
(As a side note, no matter what I try I can't get asan complaining about
this locally, so just relying on ci here.)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37181>
This commit is contained in:
Roland Scheidegger
2025-09-17 22:56:54 +02:00
committed by Marge Bot
parent 762fd255d8
commit 404cbc28d9
3 changed files with 3 additions and 35 deletions
@@ -1,64 +1,31 @@
# New CTS failures in 1.3.5.0
dEQP-VK.pipeline.monolithic.multisample.multisampled_render_to_single_sampled.dynamic_rendering.clear_attachments.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d24_unorm_s8_uint.4x.ds_resolve_sample_zero.whole_framebuffer,Fail
dEQP-VK.pipeline.pipeline_library.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_s8_uint.random_949,Fail
dEQP-VK.binding_model.descriptor_buffer.basic.limits,Fail
# New CTS failures in 1.3.6.3
dEQP-VK.pipeline.fast_linked_library.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_347,Fail
dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.tess_domain_origin_lower_left,Fail
dEQP-VK.ray_tracing_pipeline.acceleration_structures.format.cpu_built.r32g32_sfloat.nopadding.index_uint16,Fail
# New CTS failures in 1.3.7.0
dEQP-VK.descriptor_indexing.sampled_image,Fail
dEQP-VK.pipeline.monolithic.multisample.multisampled_render_to_single_sampled.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_43,Fail
dEQP-VK.pipeline.pipeline_library.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_s8_uint.random_433,Fail
dEQP-VK.pipeline.shader_object_linked_binary.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_s8_uint.random_105,Fail
dEQP-VK.pipeline.shader_object_unlinked_spirv.logic_op.r16g16b16a16_uint.equivalent,Fail
dEQP-VK.pipeline.shader_object_unlinked_spirv.multisample.multisampled_render_to_single_sampled.basic.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_s8_uint.4x.ds_resolve_sample_zero.whole_framebuffer,Fail
dEQP-VK.pipeline.fast_linked_library.logic_op.r32g32b32a32_uint.and_inverted,Fail
dEQP-VK.pipeline.pipeline_library.logic_op.r8g8b8a8_uint.invert,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.bind_buffers_2.maintenance5.robustness2.triangle_strip.buffers9.stride_offset_rnd543.true_size.beyond_size,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_780,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d24_unorm_s8_uint.random_806,Fail
dEQP-VK.ray_tracing_pipeline.acceleration_structures.format.gpu_built.r8g8b8a8_snorm.nopadding.index_uint16,Fail
# New CTS failures in 1.3.8.0
dEQP-VK.pipeline.monolithic.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_844,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.logic_op.r8g8_uint.or_reverse,Fail
dEQP-VK.pipeline.shader_object_unlinked_binary.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_839,Fail
dEQP-VK.pipeline.shader_object_unlinked_binary.multisample.multisampled_render_to_single_sampled.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_839,Fail
# New CTS failures in 1.3.8.2
dEQP-VK.pipeline.fast_linked_library.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_20,Fail
dEQP-VK.pipeline.monolithic.logic_op.r32g32_uint.clear,Fail
dEQP-VK.pipeline.shader_object_linked_binary.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_328,Fail
dEQP-VK.pipeline.shader_object_linked_binary.multisample.multisampled_render_to_single_sampled.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_328,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_119,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_119,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_119,Fail
dEQP-VK.dgc.ext.graphics.draw.token_draw.shader_objects_with_geom_preprocess_same_state_cmd_buffer_unordered,Fail
dEQP-VK.pipeline.fast_linked_library.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_s8_uint.random_529,Fail
dEQP-VK.pipeline.monolithic.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_s8_uint.random_641,Fail
dEQP-VK.pipeline.monolithic.multisample.multisampled_render_to_single_sampled.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d24_unorm_s8_uint.random_322,Fail
dEQP-VK.pipeline.pipeline_library.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d24_unorm_s8_uint.random_334,Fail
dEQP-VK.pipeline.shader_object_linked_binary.multisample.multisampled_render_to_single_sampled.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_196,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d24_unorm_s8_uint.random_622,Fail
dEQP-VK.pipeline.shader_object_unlinked_binary.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_s8_uint.random_333,Fail
# New fails in 1.4.1.0
dEQP-VK.dgc.ext.compute.smoke.1024_sequences_device_local_from_host_preprocess_state_separate_universal_queue,Fail
dEQP-VK.dynamic_state.monolithic.compute_transfer.single.compute.vertex_input_binding_stride.after,Fail
dEQP-VK.pipeline.shader_object_linked_binary.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_772,Fail
dEQP-VK.pipeline.shader_object_unlinked_binary.multisample.multisampled_render_to_single_sampled.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d24_unorm_s8_uint.random_154,Fail
dEQP-VK.pipeline.shader_object_unlinked_spirv.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_403,Fail
# New fails in 1.4.1.1
dEQP-VK.pipeline.pipeline_library.bind_buffers_2.maintenance5.robustness2.triangle_list.buffers9.stride_offset_rnd654.true_size.beyond_size,Fail
dEQP-VK.pipeline.pipeline_library.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_644,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_s8_uint.random_497,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d24_unorm_s8_uint.random_94,Fail
dEQP-VK.pipeline.shader_object_unlinked_binary.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d24_unorm_s8_uint.random_270,Fail
dEQP-VK.pipeline.shader_object_unlinked_spirv.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d24_unorm_s8_uint.random_798,Fail
@@ -1455,6 +1455,7 @@ destroy_multisample_surface(struct rendering_state *state, struct lvp_image_view
{
assert(imgv->image->vk.samples > 1);
struct lvp_image_view *base = imgv->multisample;
pipe_resource_reference(&imgv->image->planes[0].bo, NULL);
base->multisample = NULL;
free((void*)imgv->image);
free(imgv);
+1 -1
View File
@@ -292,7 +292,7 @@ struct lvp_image {
struct lvp_image_view {
struct vk_image_view vk;
const struct lvp_image *image; /**< VkImageViewCreateInfo::image */
struct lvp_image *image; /**< VkImageViewCreateInfo::image */
enum pipe_format pformat;