diff --git a/etna/source/BlockingTransferHelper.cpp b/etna/source/BlockingTransferHelper.cpp index 2215573..303e29c 100644 --- a/etna/source/BlockingTransferHelper.cpp +++ b/etna/source/BlockingTransferHelper.cpp @@ -21,7 +21,6 @@ BlockingTransferHelper::BlockingTransferHelper(CreateInfo info) .name = "BlockingTransferHelper::stagingBuffer", })} { - stagingBuffer.map(); } void BlockingTransferHelper::uploadBuffer( diff --git a/etna/source/Buffer.cpp b/etna/source/Buffer.cpp index f8455ee..3ea102c 100644 --- a/etna/source/Buffer.cpp +++ b/etna/source/Buffer.cpp @@ -45,10 +45,7 @@ Buffer::Buffer(VmaAllocator alloc, CreateInfo info) vk::to_string(static_cast(retcode))); buffer = vk::Buffer(buf); - // make map() forbidden for the user if allocationCreate has VMA_ALLOCATION_CREATE_MAPPED_BIT - if ((info.allocationCreate & VMA_ALLOCATION_CREATE_MAPPED_BIT) != 0u) - mapped = map(); - + mapped = reinterpret_cast(allocInfo.pMappedData); ETNA_VERIFY(mapped == nullptr || info.allocationCreate & VMA_ALLOCATION_CREATE_MAPPED_BIT); etna::set_debug_name(buffer, info.name.data()); @@ -88,9 +85,6 @@ void Buffer::reset() if (!buffer) return; - if (mapped != nullptr) - unmap(); - vmaDestroyBuffer(allocator, VkBuffer(buffer), allocation); allocator = {}; allocation = {}; diff --git a/etna/source/Etna.cpp b/etna/source/Etna.cpp index 55566b2..188c66c 100644 --- a/etna/source/Etna.cpp +++ b/etna/source/Etna.cpp @@ -102,9 +102,7 @@ Image create_image_from_bytes(Image::CreateInfo info, vk::CommandBuffer cmd_buf, .name = "tmp_staging_buf", }); - auto* mappedMem = stagingBuf.map(); - std::memcpy(mappedMem, data, fullSize); - stagingBuf.unmap(); + std::memcpy(stagingBuf.data(), data, fullSize); ETNA_CHECK_VK_RESULT(cmd_buf.begin(vk::CommandBufferBeginInfo{ .flags = vk::CommandBufferUsageFlagBits::eOneTimeSubmit, diff --git a/etna/source/PerFrameTransferHelper.cpp b/etna/source/PerFrameTransferHelper.cpp index 921d1d9..c30472a 100644 --- a/etna/source/PerFrameTransferHelper.cpp +++ b/etna/source/PerFrameTransferHelper.cpp @@ -63,7 +63,6 @@ PerFrameTransferHelper::PerFrameTransferHelper(CreateInfo info) stagingSize <= MAX_STAGING_SIZE, "PerFrameTransferHelper: total staging size can not exceed {} * multibuffering.", MAX_STAGING_SIZE); - stagingBuffer.iterate([](auto& buf) { buf.map(); }); } void PerFrameTransferHelper::UploadProcessor::finish()