vkd3d: Only look at SourceRTAS when updating.

Be more robust against garbage inputs.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
Hans-Kristian Arntzen 2021-08-26 17:10:59 +02:00
parent af2d41f6f8
commit c1f848ed3b
1 changed files with 3 additions and 2 deletions

View File

@ -9427,14 +9427,15 @@ static void STDMETHODCALLTYPE d3d12_command_list_BuildRaytracingAccelerationStru
}
}
if (desc->SourceAccelerationStructureData)
if (build_info.build_info.mode == VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR &&
desc->SourceAccelerationStructureData)
{
build_info.build_info.srcAccelerationStructure =
vkd3d_va_map_place_acceleration_structure(&list->device->memory_allocator.va_map,
list->device, desc->SourceAccelerationStructureData);
if (build_info.build_info.srcAccelerationStructure == VK_NULL_HANDLE)
{
ERR("Failed to place destAccelerationStructure. Dropping call.\n");
ERR("Failed to place srcAccelerationStructure. Dropping call.\n");
return;
}
}