radv: Zero initialize capture replay group handles
radv_serialized_shader_arena_block is not tightly packed and using an initializer list leaves the gaps uninitialized. cc: mesa-stable Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28961>
This commit is contained in:

committed by
Marge Bot

parent
df82221bb3
commit
406dda70e7
@@ -1,8 +1,5 @@
|
|||||||
dEQP-VK.query_pool.statistics_query.host_query_reset.geometry_shader_(invocations|primitives).secondary.(32|64)bits_.*
|
dEQP-VK.query_pool.statistics_query.host_query_reset.geometry_shader_(invocations|primitives).secondary.(32|64)bits_.*
|
||||||
|
|
||||||
# New CTS flakes in 1.3.6.3
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.(single|multi)threaded_compilation.*_check_(all|capture_replay)_handles
|
|
||||||
|
|
||||||
dEQP-VK.shader_object.binding.mesh_swap_task
|
dEQP-VK.shader_object.binding.mesh_swap_task
|
||||||
|
|
||||||
dEQP-VK.binding_model.shader_access.secondary_cmd_buf.with_template.storage_image.vertex.multiple_descriptor_sets.multiple_contiguous_descriptors.cube_array
|
dEQP-VK.binding_model.shader_access.secondary_cmd_buf.with_template.storage_image.vertex.multiple_descriptor_sets.multiple_contiguous_descriptors.cube_array
|
||||||
|
@@ -1,11 +1,5 @@
|
|||||||
# New CTS flakes in 1.3.6.3
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.*_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.*_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.*_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.*_check_capture_replay_handles
|
|
||||||
|
|
||||||
dEQP-VK.memory.mapping.suballocation.sub.1048577.offset_0.size_1048575.subinvalidate_overlapping
|
dEQP-VK.memory.mapping.suballocation.sub.1048577.offset_0.size_1048575.subinvalidate_overlapping
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.misc.maintenance5
|
|
||||||
|
|
||||||
# Nightly run expectations update
|
# Nightly run expectations update
|
||||||
dEQP-VK.memory.mapping.suballocation.sub.1048577.offset_0.size_1048575.subinvalidate_overlapping
|
dEQP-VK.memory.mapping.suballocation.sub.1048577.offset_0.size_1048575.subinvalidate_overlapping
|
||||||
|
@@ -3,39 +3,6 @@ dEQP-VK.fragment_shading_barycentric.fast_linked_library.data.provoking_last.dyn
|
|||||||
# Nightly run expectations update
|
# Nightly run expectations update
|
||||||
dEQP-VK.pipeline.monolithic.image.suballocation.sampling_type.combined.view_type.1d_array.format.r8_uint.count_1.size.3x1_array_of_6
|
dEQP-VK.pipeline.monolithic.image.suballocation.sampling_type.combined.view_type.1d_array.format.r8_uint.count_1.size.3x1_array_of_6
|
||||||
dEQP-VK.pipeline.shader_object_unlinked_spirv.render_to_image.core.1d_array.mipmap.a2b10g10r10_unorm_pack32_d32_sfloat_s8_uint
|
dEQP-VK.pipeline.shader_object_unlinked_spirv.render_to_image.core.1d_array.mipmap.a2b10g10r10_unorm_pack32_d32_sfloat_s8_uint
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s0_l11_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s0_l11_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s0_l1_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s0_l2_l3_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s1_l1_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s1_l1_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s1_l1_l1_aabbs_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s3_l232_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s3_l2_l3_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s0_l1_aabbs_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s0_l1_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s0_l1_l1_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s0_l2_l3_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s0_l23_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s1_l1_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s1_l1_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s1_l1_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s2_l23_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s2_l23_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s3_l22_l22_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.s3_l2_l3_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s0_l11_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s0_l1_l1_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s0_l23_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s0_l23_aabbs_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s0_l2_l3_aabbs_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s0_l2_l3_check_capture_replay_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s1_l1_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s1_l1_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s1_l1_l1_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.s3_l2_l3_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s2_l23_aabbs_check_all_handles
|
|
||||||
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s3_l232_check_capture_replay_handles
|
|
||||||
|
|
||||||
# New CTS flakes in 1.3.8.0.
|
# New CTS flakes in 1.3.8.0.
|
||||||
dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image
|
dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image
|
||||||
|
@@ -1159,8 +1159,12 @@ radv_GetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device, VkPipeline
|
|||||||
uint32_t recursive_shader = rt_pipeline->groups[firstGroup + i].recursive_shader;
|
uint32_t recursive_shader = rt_pipeline->groups[firstGroup + i].recursive_shader;
|
||||||
if (recursive_shader != VK_SHADER_UNUSED_KHR) {
|
if (recursive_shader != VK_SHADER_UNUSED_KHR) {
|
||||||
struct radv_shader *shader = rt_pipeline->stages[recursive_shader].shader;
|
struct radv_shader *shader = rt_pipeline->stages[recursive_shader].shader;
|
||||||
if (shader)
|
if (shader) {
|
||||||
data[i].recursive_shader_alloc = radv_serialize_shader_arena_block(shader->alloc);
|
data[i].recursive_shader_alloc.offset = shader->alloc->offset;
|
||||||
|
data[i].recursive_shader_alloc.size = shader->alloc->size;
|
||||||
|
data[i].recursive_shader_alloc.arena_va = shader->alloc->arena->bo->va;
|
||||||
|
data[i].recursive_shader_alloc.arena_size = shader->alloc->arena->size;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
data[i].non_recursive_idx = rt_pipeline->groups[firstGroup + i].handle.any_hit_index;
|
data[i].non_recursive_idx = rt_pipeline->groups[firstGroup + i].handle.any_hit_index;
|
||||||
}
|
}
|
||||||
|
@@ -1173,18 +1173,6 @@ radv_free_shader_memory(struct radv_device *device, union radv_shader_arena_bloc
|
|||||||
mtx_unlock(&device->shader_arena_mutex);
|
mtx_unlock(&device->shader_arena_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct radv_serialized_shader_arena_block
|
|
||||||
radv_serialize_shader_arena_block(union radv_shader_arena_block *block)
|
|
||||||
{
|
|
||||||
struct radv_serialized_shader_arena_block serialized_block = {
|
|
||||||
.offset = block->offset,
|
|
||||||
.size = block->size,
|
|
||||||
.arena_va = block->arena->bo->va,
|
|
||||||
.arena_size = block->arena->size,
|
|
||||||
};
|
|
||||||
return serialized_block;
|
|
||||||
}
|
|
||||||
|
|
||||||
union radv_shader_arena_block *
|
union radv_shader_arena_block *
|
||||||
radv_replay_shader_arena_block(struct radv_device *device, const struct radv_serialized_shader_arena_block *src,
|
radv_replay_shader_arena_block(struct radv_device *device, const struct radv_serialized_shader_arena_block *src,
|
||||||
void *ptr)
|
void *ptr)
|
||||||
|
@@ -550,8 +550,6 @@ union radv_shader_arena_block *radv_replay_shader_arena_block(struct radv_device
|
|||||||
const struct radv_serialized_shader_arena_block *src,
|
const struct radv_serialized_shader_arena_block *src,
|
||||||
void *ptr);
|
void *ptr);
|
||||||
|
|
||||||
struct radv_serialized_shader_arena_block radv_serialize_shader_arena_block(union radv_shader_arena_block *block);
|
|
||||||
|
|
||||||
void radv_free_shader_memory(struct radv_device *device, union radv_shader_arena_block *alloc);
|
void radv_free_shader_memory(struct radv_device *device, union radv_shader_arena_block *alloc);
|
||||||
|
|
||||||
struct radv_shader *radv_create_trap_handler_shader(struct radv_device *device);
|
struct radv_shader *radv_create_trap_handler_shader(struct radv_device *device);
|
||||||
|
Reference in New Issue
Block a user