Resolve some more validation layer issues. (#1643)

This commit is contained in:
Andreas Süßenbach
2023-08-23 13:58:54 +02:00
committed by GitHub
parent 14d048e9bf
commit fee04df943
9 changed files with 40 additions and 37 deletions

View File

@@ -121,6 +121,9 @@ int main( int /*argc*/, char ** /*argv*/ )
assert( result == vk::Result::eSuccess );
assert( imageIndex < swapChainData.images.size() );
// in order to get a clean desctruction sequence, instantiate the DeviceMemory for the result buffer first
vk::raii::DeviceMemory queryResultMemory( nullptr );
/* Allocate a uniform buffer that will take query results. */
vk::BufferCreateInfo bufferCreateInfo( {}, 4 * sizeof( uint64_t ), vk::BufferUsageFlagBits::eUniformBuffer | vk::BufferUsageFlagBits::eTransferDst );
vk::raii::Buffer queryResultBuffer( device, bufferCreateInfo );
@@ -130,7 +133,7 @@ int main( int /*argc*/, char ** /*argv*/ )
memoryRequirements.memoryTypeBits,
vk::MemoryPropertyFlagBits::eHostVisible | vk::MemoryPropertyFlagBits::eHostCoherent );
vk::MemoryAllocateInfo memoryAllocateInfo( memoryRequirements.size, memoryTypeIndex );
vk::raii::DeviceMemory queryResultMemory( device, memoryAllocateInfo );
queryResultMemory = vk::raii::DeviceMemory( device, memoryAllocateInfo );
queryResultBuffer.bindMemory( *queryResultMemory, 0 );