mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 09:28:07 +02:00
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>
(cherry picked from commit 406dda70e7)
This commit is contained in:
parent
c64129a0bd
commit
9eb14991f9
6 changed files with 7 additions and 25 deletions
|
|
@ -94,7 +94,7 @@
|
|||
"description": "radv: Zero initialize capture replay group handles",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -10,7 +10,4 @@ dEQP-VK.draw.renderpass.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_1
|
|||
dEQP-VK.pipeline.*line_stipple_enable
|
||||
dEQP-VK.pipeline.*line_stipple_params
|
||||
|
||||
# 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.query_pool.statistics_query.host_query_reset.geometry_shader_invocations.secondary.32bits_triangle_list_clear_depth
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
# 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
|
||||
|
|
@ -943,8 +943,12 @@ radv_GetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device, VkPipeline
|
|||
uint32_t recursive_shader = rt_pipeline->groups[firstGroup + i].recursive_shader;
|
||||
if (recursive_shader != VK_SHADER_UNUSED_KHR) {
|
||||
struct radv_shader *shader = rt_pipeline->stages[recursive_shader].shader;
|
||||
if (shader)
|
||||
data[i].recursive_shader_alloc = radv_serialize_shader_arena_block(shader->alloc);
|
||||
if (shader) {
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1312,18 +1312,6 @@ radv_free_shader_memory(struct radv_device *device, union radv_shader_arena_bloc
|
|||
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 *
|
||||
radv_replay_shader_arena_block(struct radv_device *device, const struct radv_serialized_shader_arena_block *src,
|
||||
void *ptr)
|
||||
|
|
|
|||
|
|
@ -775,8 +775,6 @@ union radv_shader_arena_block *radv_replay_shader_arena_block(struct radv_device
|
|||
const struct radv_serialized_shader_arena_block *src,
|
||||
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);
|
||||
|
||||
struct radv_shader *radv_create_trap_handler_shader(struct radv_device *device);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue