Update bottom AS's addresses during top AS deserialization
authormichal_jakubek <michal.jakubek@mobica.com>
Wed, 12 May 2021 08:53:39 +0000 (10:53 +0200)
committermichal_jakubek <michal.jakubek@mobica.com>
Fri, 2 Jul 2021 06:21:55 +0000 (08:21 +0200)
commit01620dc55be4c6c8a94e215106e73fdd571506ff
tree260af88fd6c95870d0d234e6a74f14fde782203a
parent875c981f4c59c8c1162cd999df1332a9792aab85
Update bottom AS's addresses during top AS deserialization

SerialStorage class has been adorned with an additional constructor
which allows to serialize or deserialize a deep copy of top-level
acceleration structure, it means top-level AS together with bottom-level
acceleration structures that it owns. In other words it reconstructs all
stuff that has been stored during serialization process.
A deserializing from SerialStorage created this way updates bottom-level
acceleration structure addresses in the top-level AS's header.

New tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.header_bottom_address.*

Components: Vulkan

VK-GL-CTS issue: 2830

Change-Id: I2e92e6a83dc9dcba67fa74b12fbfcafb4ae4c0c6
android/cts/master/vk-master-2021-03-01/ray-tracing-pipeline.txt
android/cts/master/vk-master/ray-tracing-pipeline.txt
external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp
external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp
external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp
external/vulkancts/mustpass/master/vk-default/ray-tracing-pipeline.txt