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

This was missing and led to the field being uninitialized.

Cc: mesa-stable
(cherry picked from commit b7f011e653)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38803>
This commit is contained in:
Natalie Vock 2025-11-17 16:41:58 +01:00 committed by Dylan Baker
parent 8e9da72044
commit 681e8b7e84
3 changed files with 6 additions and 1 deletions

View file

@ -2344,7 +2344,7 @@
"description": "radv/rt: Correctly copy culling flags when updating to separate AS",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

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

@ -283,6 +283,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;
}