Skip to content

Commit f067216

Browse files
committed
Removed volk and core from Buffer class
1 parent acade7d commit f067216

File tree

4 files changed

+83
-16
lines changed

4 files changed

+83
-16
lines changed

engine/render/renderer/buffer/Buffer.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
#ifndef SIEGE_ENGINE_BUFFER_H
1010
#define SIEGE_ENGINE_BUFFER_H
1111

12-
#include "../Core.h"
12+
#include "render/renderer/platform/vulkan/utils/Types.h"
1313

1414
namespace Siege::Buffer
1515
{
1616
struct Buffer
1717
{
18-
VkBuffer buffer {VK_NULL_HANDLE};
19-
VkDeviceMemory bufferMemory {VK_NULL_HANDLE};
18+
VkBuffer buffer {nullptr};
19+
VkDeviceMemory bufferMemory {nullptr};
2020
uint64_t size = 0;
2121
};
2222

@@ -30,9 +30,9 @@ struct Buffer
3030
* @param buffer - the buffer that the function should write data to.
3131
* @param bufferMemory - the buffer memory data the function should write data to.
3232
**/
33-
void CreateBuffer(VkDeviceSize size,
34-
VkBufferUsageFlags usage,
35-
VkMemoryPropertyFlags properties,
33+
void CreateBuffer(unsigned long size,
34+
unsigned int usage,
35+
unsigned int properties,
3636
VkBuffer& buffer,
3737
VkDeviceMemory& bufferMemory);
3838

@@ -44,7 +44,7 @@ void CreateBuffer(VkDeviceSize size,
4444
* @param typeFilter - The bitmask for the required memory type
4545
* @param properties - The available device memory properties. Used to query for available memory.
4646
**/
47-
uint32_t FindMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties);
47+
uint32_t FindMemoryType(unsigned long typeFilter, Vulkan::Utils::MemoryProperty properties);
4848

4949
/**
5050
* Copies data into a buffer. Data can be any type as specified by
@@ -55,11 +55,11 @@ uint32_t FindMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties);
5555
* @param bufferData - the data being copied into the buffer
5656
**/
5757
void CopyData(Buffer& dstBuffer,
58-
VkDeviceSize size,
58+
unsigned long size,
5959
const void* bufferData,
60-
VkDeviceSize offset = 0);
60+
unsigned long offset = 0);
6161

62-
void AppendData(Buffer& dstBuffer, VkDeviceSize size, const void* bufferData);
62+
void AppendData(Buffer& dstBuffer, unsigned long size, const void* bufferData);
6363

6464
/**
6565
* Copies a buffer. This is generally used when copying the values within a buffer into
@@ -69,7 +69,7 @@ void AppendData(Buffer& dstBuffer, VkDeviceSize size, const void* bufferData);
6969
* @param dstBuffer - the buffer where the data is being copied into.
7070
* @param size - the expected size of the resulting buffer.
7171
**/
72-
void CopyBuffer(VkBuffer& srcBuffer, VkBuffer& dstBuffer, VkDeviceSize size);
72+
void CopyBuffer(VkBuffer& srcBuffer, VkBuffer& dstBuffer, unsigned long size);
7373

7474
/**
7575
* Destroys a buffer struct and releases memory back to the device.

engine/render/renderer/platform/vulkan/Material.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Material::Material(Shader vertShader, Shader fragShader, bool isWritingDepth) :
4343

4444
// Allocate buffer which can store all the data we need
4545
Buffer::CreateBuffer(bufferSize,
46-
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
46+
Vulkan::Utils::STORAGE_BUFFER | Vulkan::Utils::UNIFORM_BUFFER,
4747
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
4848
OUT buffer.buffer,
4949
OUT buffer.bufferMemory);

engine/render/renderer/platform/vulkan/utils/TypeAdaptor.h

Lines changed: 59 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,13 +206,69 @@ DECL_VULKAN_SWITCH_FUN(VkImageLayout,
206206

207207
DECL_VULKAN_SWITCH_FUN(BufferType,
208208
VkBufferUsageFlagBits,
209+
SWITCH_MEM(VkBufferUsageFlagBits,
210+
VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
211+
TRANSFER_SRC_BUFFER)
212+
SWITCH_MEM(VkBufferUsageFlagBits,
213+
VK_BUFFER_USAGE_TRANSFER_DST_BIT,
214+
TRANSFER_DST_BUFFER)
209215
SWITCH_MEM(VkBufferUsageFlagBits,
210216
VK_BUFFER_USAGE_INDEX_BUFFER_BIT,
211-
INDEX_BUFFER) SWITCH_DEFAULT(VERTEX_BUFFER))
217+
INDEX_BUFFER)
218+
SWITCH_MEM(VkBufferUsageFlagBits,
219+
VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
220+
VERTEX_BUFFER)
221+
SWITCH_MEM(VkBufferUsageFlagBits,
222+
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
223+
UNIFORM_BUFFER)
224+
SWITCH_MEM(VkBufferUsageFlagBits,
225+
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
226+
STORAGE_BUFFER)
227+
SWITCH_DEFAULT(TRANSFER_SRC_BUFFER))
212228
DECL_VULKAN_SWITCH_FUN(VkBufferUsageFlagBits,
213229
BufferType,
214-
SWITCH_MEM(BufferType, INDEX_BUFFER, VK_BUFFER_USAGE_INDEX_BUFFER_BIT)
215-
SWITCH_DEFAULT(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT))
230+
SWITCH_MEM(BufferType,
231+
TRANSFER_SRC_BUFFER,
232+
VK_BUFFER_USAGE_TRANSFER_SRC_BIT)
233+
SWITCH_MEM(BufferType,
234+
TRANSFER_DST_BUFFER,
235+
VK_BUFFER_USAGE_TRANSFER_DST_BIT)
236+
SWITCH_MEM(BufferType,
237+
INDEX_BUFFER,
238+
VK_BUFFER_USAGE_INDEX_BUFFER_BIT)
239+
SWITCH_MEM(BufferType,
240+
VERTEX_BUFFER,
241+
VK_BUFFER_USAGE_VERTEX_BUFFER_BIT)
242+
SWITCH_MEM(BufferType,
243+
UNIFORM_BUFFER,
244+
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT)
245+
SWITCH_MEM(BufferType,
246+
STORAGE_BUFFER,
247+
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT)
248+
SWITCH_DEFAULT(VK_BUFFER_USAGE_TRANSFER_SRC_BIT))
249+
250+
DECL_VULKAN_SWITCH_FUN(MemoryProperty, VkMemoryPropertyFlagBits,
251+
SWITCH_MEM(VkMemoryPropertyFlagBits,
252+
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
253+
MEMORY_DEVICE_LOCAL)
254+
SWITCH_MEM(VkMemoryPropertyFlagBits,
255+
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
256+
MEMORY_HOST_COHERENT)
257+
SWITCH_MEM(VkMemoryPropertyFlagBits,
258+
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,
259+
MEMORY_HOST_VISIBLE)
260+
SWITCH_DEFAULT(MEMORY_DEVICE_LOCAL))
261+
262+
DECL_VULKAN_SWITCH_FUN(VkMemoryPropertyFlagBits, MemoryProperty,
263+
SWITCH_MEM(MemoryProperty,
264+
MEMORY_DEVICE_LOCAL,
265+
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT)
266+
SWITCH_MEM(MemoryProperty,
267+
MEMORY_HOST_COHERENT,
268+
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT)
269+
SWITCH_MEM(MemoryProperty,
270+
MEMORY_HOST_VISIBLE,
271+
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT))
216272

217273
DECL_VULKAN_SWITCH_FUN(
218274
PipelineStage,

engine/render/renderer/platform/vulkan/utils/Types.h

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,12 @@ enum ImageLayout
159159

160160
enum BufferType
161161
{
162+
TRANSFER_SRC_BUFFER = 0x00000001,
163+
TRANSFER_DST_BUFFER = 0x00000002,
164+
UNIFORM_BUFFER = 0x00000010,
165+
STORAGE_BUFFER = 0x00000020,
166+
INDEX_BUFFER = 0x00000040,
162167
VERTEX_BUFFER = 0x00000080,
163-
INDEX_BUFFER = 0x00000040
164168
};
165169

166170
enum PipelineStage
@@ -195,6 +199,13 @@ enum VertexInputRate
195199
INPUT_RATE_INSTANCE = 1
196200
};
197201

202+
enum MemoryProperty
203+
{
204+
MEMORY_DEVICE_LOCAL = 0x00000001,
205+
MEMORY_HOST_COHERENT = 0x00000002,
206+
MEMORY_HOST_VISIBLE = 0x00000004
207+
};
208+
198209
//----------------------------------------- Structs -----------------------------------------------
199210

200211
struct Extent2D

0 commit comments

Comments
 (0)