From 8e949a47a4a2b19cfbbf9d3750c21554f171fce3 Mon Sep 17 00:00:00 2001 From: Vanessa Karolek <vaka1997@uni-koblenz.de> Date: Fri, 27 Aug 2021 16:54:56 +0200 Subject: [PATCH] [#92] adjust RT_ACCELERATION buffer types --- include/vkcv/BufferManager.hpp | 3 ++- src/vkcv/BufferManager.cpp | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/vkcv/BufferManager.hpp b/include/vkcv/BufferManager.hpp index 4b19a343..272ba44b 100644 --- a/include/vkcv/BufferManager.hpp +++ b/include/vkcv/BufferManager.hpp @@ -14,7 +14,8 @@ namespace vkcv UNIFORM, STORAGE, STAGING, - RT_ACCELERATION + RT_ACCELERATION_VERTEX, + RT_ACCELERATION_INDEX }; enum class BufferMemoryType { diff --git a/src/vkcv/BufferManager.cpp b/src/vkcv/BufferManager.cpp index 0d2dc4fc..6f065705 100644 --- a/src/vkcv/BufferManager.cpp +++ b/src/vkcv/BufferManager.cpp @@ -48,10 +48,13 @@ namespace vkcv { case BufferType::INDEX: usageFlags = vk::BufferUsageFlagBits::eIndexBuffer; break; - case BufferType::RT_ACCELERATION: - usageFlags = vk::BufferUsageFlagBits::eAccelerationStructureStorageKHR | vk::BufferUsageFlagBits::eShaderDeviceAddress | vk::BufferUsageFlagBits::eStorageBuffer; + case BufferType::RT_ACCELERATION_VERTEX: + usageFlags = vk::BufferUsageFlagBits::eVertexBuffer | vk::BufferUsageFlagBits::eAccelerationStructureStorageKHR | vk::BufferUsageFlagBits::eShaderDeviceAddressKHR | vk::BufferUsageFlagBits::eStorageBuffer; break; - default: + case BufferType::RT_ACCELERATION_INDEX: + usageFlags = vk::BufferUsageFlagBits::eIndexBuffer | vk::BufferUsageFlagBits::eAccelerationStructureStorageKHR | vk::BufferUsageFlagBits::eShaderDeviceAddressKHR | vk::BufferUsageFlagBits::eStorageBuffer; + break; + default: vkcv_log(LogLevel::WARNING, "Unknown buffer type"); break; } @@ -89,7 +92,8 @@ namespace vkcv { if (type == BufferType::STAGING) { memoryUsage = vma::MemoryUsage::eCpuToGpu; } - + + // TODO ?vma::AllocatorCreateFlagBits::eKhrDedicatedAllocation? auto bufferAllocation = allocator.createBuffer( vk::BufferCreateInfo(createFlags, size, usageFlags), vma::AllocationCreateInfo( -- GitLab