Fix acceleration structure vertex and index flushes
authorRicardo Garcia <rgarcia@igalia.com>
Tue, 26 Apr 2022 09:48:41 +0000 (11:48 +0200)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 6 May 2022 15:43:59 +0000 (15:43 +0000)
commit9dbecc66fd3f3326d052ee4ca2244aa93d60e512
tree5a06c5f0c8a95dd9c31dcc3dad406c36924ddee2
parent79b27df604ae9e73ccf4fc9b0053fba5c82a0007
Fix acceleration structure vertex and index flushes

Flush the whole allocation when updating vertex and index buffers during
ray tracing acceleration structure builds. The code currently does not
track both the offset and size align to nonCoherentAtomSize, and most
vertex and index buffer allocations are actually on coherent memory.
Flushing the whole allocation allows us to avoid several validation
errors like VUID-VkMappedMemoryRange-size-01390.

Affected tests:
dEQP-VK.ray_tracing*
dEQP-VK.ray_query*

Components: Vulkan
VK-GL-CTS issue: 3656

Change-Id: I5edbbc3b67ab46eaea568842f06dc53664e78e42
external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp