Fixing a refactor error

This commit is contained in:
Dynamitos
2024-04-23 17:08:39 +02:00
parent 89571e5298
commit 80963edfd4
11 changed files with 83 additions and 38 deletions
+1 -4
View File
@@ -209,9 +209,6 @@ void AssetRegistry::peekAsset(ArchiveBuffer& buffer)
std::string folderPath;
Serialization::load(buffer, folderPath);
uint64 assetSize;
Serialization::load(buffer, assetSize);
AssetFolder* folder = getOrCreateFolder(folderPath);
OAsset asset;
@@ -332,7 +329,7 @@ void AssetRegistry::saveAsset(PAsset asset, uint64 identifier, const std::filesy
Serialization::save(buffer, folderPath.string());
// write asset data
asset->save(buffer);
assetBuffer.writeToStream(assetStream);
buffer.writeToStream(assetStream);
}
std::filesystem::path AssetRegistry::getRootFolder()
-1
View File
@@ -74,7 +74,6 @@ private:
std::filesystem::path rootFolder;
AssetFolder* assetRoot;
Gfx::PGraphics graphics;
ArchiveBuffer assetBuffer;
bool release = false;
friend class MaterialAsset;
friend class TextureLoader;
+6 -12
View File
@@ -18,16 +18,11 @@ static Map<Vulkan::Buffer*, PendingBuffer> pendingBuffers;
Buffer::Buffer(PGraphics graphics, uint64 size, VkBufferUsageFlags usage, Gfx::QueueType& queueType, bool dynamic,
std::string name)
: graphics(graphics), currentBuffer(0), size(size), owner(queueType), usage(usage), name(name) {
if (dynamic) {
numBuffers = Gfx::numFramesBuffered;
} else {
numBuffers = 1;
}
createBuffer();
}
Buffer::~Buffer() {
for (uint32 i = 0; i < numBuffers; ++i) {
for (uint32 i = 0; i < buffers.size(); ++i) {
graphics->getDestructionManager()->queueBuffer(graphics->getQueueCommands(owner)->getCommands(), buffers[i].buffer,
buffers[i].allocation);
}
@@ -74,12 +69,12 @@ void Buffer::executeOwnershipBarrier(Gfx::QueueType newOwner) {
VkCommandBuffer srcCommand = sourcePool->getCommands()->getHandle();
VkCommandBuffer dstCommand = dstPool->getCommands()->getHandle();
VkBufferMemoryBarrier dynamicBarriers[Gfx::numFramesBuffered];
for (uint32 i = 0; i < numBuffers; ++i) {
for (uint32 i = 0; i < buffers.size(); ++i) {
dynamicBarriers[i] = barrier;
dynamicBarriers[i].buffer = buffers[i].buffer;
}
vkCmdPipelineBarrier(srcCommand, srcStage, srcStage, 0, 0, nullptr, numBuffers, dynamicBarriers, 0, nullptr);
vkCmdPipelineBarrier(dstCommand, dstStage, dstStage, 0, 0, nullptr, numBuffers, dynamicBarriers, 0, nullptr);
vkCmdPipelineBarrier(srcCommand, srcStage, srcStage, 0, 0, nullptr, buffers.size(), dynamicBarriers, 0, nullptr);
vkCmdPipelineBarrier(dstCommand, dstStage, dstStage, 0, 0, nullptr, buffers.size(), dynamicBarriers, 0, nullptr);
sourcePool->submitCommands();
}
@@ -97,15 +92,14 @@ void Buffer::executePipelineBarrier(VkAccessFlags srcAccess, VkPipelineStageFlag
.size = size,
};
VkBufferMemoryBarrier dynamicBarriers[Gfx::numFramesBuffered];
for (uint32 i = 0; i < numBuffers; ++i) {
for (uint32 i = 0; i < buffers.size(); ++i) {
dynamicBarriers[i] = barrier;
dynamicBarriers[i].buffer = buffers[i].buffer;
}
vkCmdPipelineBarrier(commandBuffer->getHandle(), srcStage, dstStage, 0, 0, nullptr, numBuffers, dynamicBarriers, 0,
vkCmdPipelineBarrier(commandBuffer->getHandle(), srcStage, dstStage, 0, 0, nullptr, buffers.size(), dynamicBarriers, 0,
nullptr);
}
void* Buffer::map(bool writeOnly) { return mapRegion(0, size, writeOnly); }
void* Buffer::mapRegion(uint64 regionOffset, uint64 regionSize, bool writeOnly) {
-1
View File
@@ -31,7 +31,6 @@ protected:
Gfx::QueueType &owner;
Array<BufferAllocation> buffers;
VkBufferUsageFlags usage;
uint32 numBuffers;
std::string name;
void createBuffer();