Format all files based on clang-format file

This commit is contained in:
Thraix
2026-01-28 22:27:57 +01:00
parent 6c1c558998
commit e5866b2dcb
138 changed files with 1923 additions and 1011 deletions
+21 -10
View File
@@ -5,7 +5,8 @@
namespace Copium
{
Buffer::Buffer(VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkDeviceSize size, int count)
: size{size}, count{count}
: size{size},
count{count}
{
VkBufferCreateInfo createInfo{};
createInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
@@ -23,7 +24,8 @@ namespace Copium
allocateInfo.allocationSize = memoryRequirements.size;
allocateInfo.memoryTypeIndex = Vulkan::GetDevice().FindMemoryType(memoryRequirements.memoryTypeBits, properties);
CP_VK_ASSERT(vkAllocateMemory(Vulkan::GetDevice(), &allocateInfo, nullptr, &memory), "Failed to allocate buffer memory");
CP_VK_ASSERT(vkAllocateMemory(Vulkan::GetDevice(), &allocateInfo, nullptr, &memory),
"Failed to allocate buffer memory");
vkBindBufferMemory(Vulkan::GetDevice(), handle, memory, 0);
}
@@ -32,10 +34,12 @@ namespace Copium
{
VkDeviceMemory memoryCpy = memory;
VkBuffer handleCpy = handle;
Vulkan::GetDevice().QueueIdleCommand([memoryCpy, handleCpy]() {
vkFreeMemory(Vulkan::GetDevice(), memoryCpy, nullptr);
vkDestroyBuffer(Vulkan::GetDevice(), handleCpy, nullptr);
});
Vulkan::GetDevice().QueueIdleCommand(
[memoryCpy, handleCpy]()
{
vkFreeMemory(Vulkan::GetDevice(), memoryCpy, nullptr);
vkDestroyBuffer(Vulkan::GetDevice(), handleCpy, nullptr);
});
}
void Buffer::Update(void* indexData, int index)
@@ -58,7 +62,10 @@ namespace Copium
void Buffer::UpdateStaging(void* data)
{
VkDeviceSize bufferSize = size * count;
Buffer stagingBuffer{VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, bufferSize, 1};
Buffer stagingBuffer{VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
bufferSize,
1};
stagingBuffer.Update(data, 0);
@@ -67,7 +74,10 @@ namespace Copium
void Buffer::UpdateStaging(void* data, VkDeviceSize offset, VkDeviceSize size)
{
Buffer stagingBuffer{VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, size, 1};
Buffer stagingBuffer{VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
size,
1};
stagingBuffer.Update(data, 0);
@@ -89,7 +99,7 @@ namespace Copium
mappedData = nullptr;
}
Buffer::operator VkBuffer() const
Buffer::operator VkBuffer() const
{
return handle;
}
@@ -115,7 +125,8 @@ namespace Copium
allocateInfo.commandBufferCount = 1;
VkCommandBuffer commandBuffer;
CP_VK_ASSERT(vkAllocateCommandBuffers(Vulkan::GetDevice(), &allocateInfo, &commandBuffer), "Failed to initialize command buffer");
CP_VK_ASSERT(vkAllocateCommandBuffers(Vulkan::GetDevice(), &allocateInfo, &commandBuffer),
"Failed to initialize command buffer");
VkCommandBufferBeginInfo beginInfo{};
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
+3 -2
View File
@@ -1,14 +1,15 @@
#pragma once
#include "copium/util/Common.h"
#include <vulkan/vulkan.hpp>
#include "copium/util/Common.h"
namespace Copium
{
class Buffer
{
CP_DELETE_COPY_AND_MOVE_CTOR(Buffer);
protected:
VkDeviceMemory memory;
VkBuffer handle;
@@ -9,14 +9,14 @@ namespace Copium
{
switch (type)
{
case CommandBufferType::SingleUse:
commandBuffers.resize(1);
break;
case CommandBufferType::Dynamic:
commandBuffers.resize(SwapChain::MAX_FRAMES_IN_FLIGHT);
break;
default:
CP_ABORT("Unreachable switch case: %s", ToString(type).c_str());
case CommandBufferType::SingleUse:
commandBuffers.resize(1);
break;
case CommandBufferType::Dynamic:
commandBuffers.resize(SwapChain::MAX_FRAMES_IN_FLIGHT);
break;
default:
CP_ABORT("Unreachable switch case: %s", ToString(type).c_str());
}
VkCommandBufferAllocateInfo allocateInfo{};
@@ -24,15 +24,21 @@ namespace Copium
allocateInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
allocateInfo.commandPool = Vulkan::GetDevice().GetCommandPool();
allocateInfo.commandBufferCount = commandBuffers.size();
CP_VK_ASSERT(vkAllocateCommandBuffers(Vulkan::GetDevice(), &allocateInfo, commandBuffers.data()), "Failed to allocate CommandBuffer");
CP_VK_ASSERT(vkAllocateCommandBuffers(Vulkan::GetDevice(), &allocateInfo, commandBuffers.data()),
"Failed to allocate CommandBuffer");
}
CommandBuffer::~CommandBuffer()
{
std::vector<VkCommandBuffer> commandBuffersCpy = commandBuffers;
Vulkan::GetDevice().QueueIdleCommand([commandBuffersCpy]() {
vkFreeCommandBuffers(Vulkan::GetDevice(), Vulkan::GetDevice().GetCommandPool(), commandBuffersCpy.size(), commandBuffersCpy.data());
});
Vulkan::GetDevice().QueueIdleCommand(
[commandBuffersCpy]()
{
vkFreeCommandBuffers(Vulkan::GetDevice(),
Vulkan::GetDevice().GetCommandPool(),
commandBuffersCpy.size(),
commandBuffersCpy.data());
});
}
// TODO: Test as constexpr function to see if it avoids the switch case
@@ -45,17 +51,18 @@ namespace Copium
switch (type)
{
case CommandBufferType::SingleUse:
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
break;
case CommandBufferType::Dynamic:
break;
default:
CP_ABORT("Unreachable switch case: %s", ToString(type).c_str());
case CommandBufferType::SingleUse:
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
break;
case CommandBufferType::Dynamic:
break;
default:
CP_ABORT("Unreachable switch case: %s", ToString(type).c_str());
}
vkResetCommandBuffer(commandBuffers[Vulkan::GetSwapChain().GetFlightIndex()], 0);
CP_VK_ASSERT(vkBeginCommandBuffer(commandBuffers[Vulkan::GetSwapChain().GetFlightIndex()], &beginInfo), "Failed to begin command buffer");
CP_VK_ASSERT(vkBeginCommandBuffer(commandBuffers[Vulkan::GetSwapChain().GetFlightIndex()], &beginInfo),
"Failed to begin command buffer");
}
void CommandBuffer::End()
@@ -1,10 +1,10 @@
#pragma once
#include <vulkan/vulkan.hpp>
#include "copium/util/Common.h"
#include "copium/util/Enum.h"
#include <vulkan/vulkan.hpp>
#define CP_COMMAND_BUFFER_TYPE_ENUMS SingleUse, Dynamic
CP_ENUM_CREATOR(Copium, CommandBufferType, CP_COMMAND_BUFFER_TYPE_ENUMS);
@@ -13,6 +13,7 @@ namespace Copium
class CommandBuffer
{
CP_DELETE_COPY_AND_MOVE_CTOR(CommandBuffer);
private:
std::vector<VkCommandBuffer> commandBuffers;
const CommandBufferType type;
@@ -8,6 +8,7 @@ namespace Copium
class CommandBufferScoped final : public CommandBuffer
{
CP_DELETE_COPY_AND_MOVE_CTOR(CommandBufferScoped);
public:
CommandBufferScoped();
+13 -8
View File
@@ -24,7 +24,8 @@ namespace Copium
}
Framebuffer::Framebuffer(int width, int height, const SamplerCreator& samplerCreator)
: width{width}, height{height}
: width{width},
height{height}
{
CP_ASSERT(width > 0, "Width of framebuffer is less than 1: %d", width);
CP_ASSERT(height > 0, "Height of framebuffer is less than 1: %d", height);
@@ -39,11 +40,13 @@ namespace Copium
{
std::vector<VkFramebuffer> framebuffersCpy = framebuffers;
VkRenderPass renderPassCpy = renderPass;
Vulkan::GetDevice().QueueIdleCommand([framebuffersCpy, renderPassCpy]() {
for (auto& framebuffer : framebuffersCpy)
vkDestroyFramebuffer(Vulkan::GetDevice(), framebuffer, nullptr);
vkDestroyRenderPass(Vulkan::GetDevice(), renderPassCpy, nullptr);
});
Vulkan::GetDevice().QueueIdleCommand(
[framebuffersCpy, renderPassCpy]()
{
for (auto& framebuffer : framebuffersCpy)
vkDestroyFramebuffer(Vulkan::GetDevice(), framebuffer, nullptr);
vkDestroyRenderPass(Vulkan::GetDevice(), renderPassCpy, nullptr);
});
}
void Framebuffer::Resize(int width, int height)
@@ -193,7 +196,8 @@ namespace Copium
renderPassCreateInfo.dependencyCount = dependencies.size();
renderPassCreateInfo.pDependencies = dependencies.data();
CP_VK_ASSERT(vkCreateRenderPass(Vulkan::GetDevice(), &renderPassCreateInfo, nullptr, &renderPass), "Failed to initialze render pass");
CP_VK_ASSERT(vkCreateRenderPass(Vulkan::GetDevice(), &renderPassCreateInfo, nullptr, &renderPass),
"Failed to initialze render pass");
}
void Framebuffer::InitializeFramebuffers()
@@ -213,7 +217,8 @@ namespace Copium
createInfo.height = height;
createInfo.layers = 1;
CP_VK_ASSERT(vkCreateFramebuffer(Vulkan::GetDevice(), &createInfo, nullptr, &framebuffers[i]), "Failed to initialize framebuffer");
CP_VK_ASSERT(vkCreateFramebuffer(Vulkan::GetDevice(), &createInfo, nullptr, &framebuffers[i]),
"Failed to initialize framebuffer");
}
}
}
+4 -2
View File
@@ -1,5 +1,7 @@
#pragma once
#include <vulkan/vulkan.hpp>
#include "copium/asset/Asset.h"
#include "copium/asset/AssetRef.h"
#include "copium/buffer/CommandBuffer.h"
@@ -7,13 +9,12 @@
#include "copium/sampler/DepthAttachment.h"
#include "copium/util/Common.h"
#include <vulkan/vulkan.hpp>
namespace Copium
{
class Framebuffer final : public Asset
{
CP_DELETE_COPY_AND_MOVE_CTOR(Framebuffer);
private:
AssetRef<ColorAttachment> colorAttachment;
std::unique_ptr<DepthAttachment> depthAttachment;
@@ -22,6 +23,7 @@ namespace Copium
int width;
int height;
public:
Framebuffer(const MetaFile& metaFile);
Framebuffer(int width, int height, const SamplerCreator& samplerCreator);
@@ -7,9 +7,11 @@ namespace Copium
IndexBuffer::IndexBuffer(int indexCount)
: Buffer{VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
indexCount * sizeof(uint16_t), 1},
indexCount * sizeof(uint16_t),
1},
indexCount{indexCount}
{}
{
}
void IndexBuffer::Bind(const CommandBuffer& commandBuffer)
{
@@ -9,8 +9,10 @@ namespace Copium
class IndexBuffer final : public Buffer
{
CP_DELETE_COPY_AND_MOVE_CTOR(IndexBuffer);
private:
int indexCount;
public:
IndexBuffer(int indexCount);
@@ -6,8 +6,12 @@ namespace Copium
{
RendererVertexBuffer::RendererVertexBuffer(const VertexDescriptor& descriptor, int vertexCount)
: Buffer{VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, descriptor.GetVertexSize() * vertexCount, SwapChain::MAX_FRAMES_IN_FLIGHT}
{}
: Buffer{VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
descriptor.GetVertexSize() * vertexCount,
SwapChain::MAX_FRAMES_IN_FLIGHT}
{
}
void RendererVertexBuffer::Bind(const CommandBuffer& commandBuffer)
{
@@ -9,6 +9,7 @@ namespace Copium
class RendererVertexBuffer : public Buffer
{
CP_DELETE_COPY_AND_MOVE_CTOR(RendererVertexBuffer);
public:
RendererVertexBuffer(const VertexDescriptor& descriptor, int vertexCount);
@@ -5,7 +5,11 @@
namespace Copium
{
UniformBuffer::UniformBuffer(ShaderBinding binding)
: Buffer{VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, binding.GetUniformBufferSize(), SwapChain::MAX_FRAMES_IN_FLIGHT}, binding{binding}
: Buffer{VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
binding.GetUniformBufferSize(),
SwapChain::MAX_FRAMES_IN_FLIGHT},
binding{binding}
{
buffer.resize(Buffer::GetSize());
}
@@ -1,17 +1,18 @@
#pragma once
#include <glm/glm.hpp>
#include <vulkan/vulkan.hpp>
#include "copium/buffer/Buffer.h"
#include "copium/pipeline/ShaderBinding.h"
#include "copium/util/Common.h"
#include <glm/glm.hpp>
#include <vulkan/vulkan.hpp>
namespace Copium
{
class UniformBuffer final : public Buffer
{
CP_DELETE_COPY_AND_MOVE_CTOR(UniformBuffer);
private:
ShaderBinding binding;
std::vector<uint8_t> buffer;
@@ -3,7 +3,10 @@
namespace Copium
{
VertexBuffer::VertexBuffer(const VertexDescriptor& descriptor, int vertexCount)
: Buffer{VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, descriptor.GetVertexSize() * vertexCount, 1}
: Buffer{VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
descriptor.GetVertexSize() * vertexCount,
1}
{
VkDeviceSize offset = 0;
for (auto&& binding : descriptor.GetBindings())
@@ -1,21 +1,23 @@
#pragma once
#include <vector>
#include <vulkan/vulkan.hpp>
#include "copium/buffer/Buffer.h"
#include "copium/buffer/CommandBuffer.h"
#include "copium/pipeline/VertexDescriptor.h"
#include "copium/util/Common.h"
#include <vector>
#include <vulkan/vulkan.hpp>
namespace Copium
{
class VertexBuffer final : public Buffer
{
CP_DELETE_COPY_AND_MOVE_CTOR(VertexBuffer);
private:
std::vector<VkDeviceSize> bindingOffsets;
std::vector<VkDeviceSize> bindingSizes;
public:
VertexBuffer(const VertexDescriptor& descriptor, int vertexCount);