radv/rt: Correctly copy culling flags when updating to separate AS

This was missing and led to the field being uninitialized.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38488>
This commit is contained in:
Natalie Vock 2025-11-17 16:41:58 +01:00 committed by Marge Bot
parent bc1eea90b9
commit b7f011e653
2 changed files with 5 additions and 0 deletions

View file

@ -95,6 +95,8 @@ void main() {
if (!VK_BUILD_FLAG(RADV_BUILD_FLAG_UPDATE_IN_PLACE)) {
for (uint32_t i = 0; i < 4; ++i)
DEREF(dst_node).children[i] = children[i];
if (VK_BUILD_FLAG(VK_BUILD_FLAG_PROPAGATE_CULL_FLAGS))
DEREF(dst_node).flags = DEREF(src_node).flags;
}
for (uint32_t i = 0; i < valid_child_count; ++i) {

View file

@ -320,6 +320,9 @@ radv_get_build_config(VkDevice _device, struct vk_acceleration_structure_build_s
if (state->build_info->geometryCount == 1)
update_key |= RADV_BUILD_FLAG_UPDATE_SINGLE_GEOMETRY;
if (device->meta_state.accel_struct_build.build_args.propagate_cull_flags)
update_key |= VK_BUILD_FLAG_PROPAGATE_CULL_FLAGS;
state->config.update_key[0] = update_key;
}