Skip to content

Commit da82489

Browse files
committed
Renamed iterators, Stackarray tests, and added traits to function ptrs
1 parent ebcf50d commit da82489

File tree

18 files changed

+95
-36
lines changed

18 files changed

+95
-36
lines changed

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,22 @@ Material::~Material()
9898
[&](PropertiesSlot& prop) { vkDestroyDescriptorSetLayout(device, prop.layout, nullptr); });
9999
}
100100

101+
void Material::Destroy()
102+
{
103+
auto device = Vulkan::Context::GetVkLogicalDevice();
104+
105+
Buffer::DestroyBuffer(buffer);
106+
107+
propertiesSlots.MForEach([&](PropertiesSlot& prop) {
108+
vkDestroyDescriptorSetLayout(device, prop.layout, nullptr);
109+
prop.layout = nullptr;
110+
});
111+
112+
vertexShader.Destroy();
113+
fragmentShader.Destroy();
114+
graphicsPipeline.Destroy();
115+
}
116+
101117
Material& Material::operator=(Material&& other)
102118
{
103119
Swap(other);

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ class Material
5959
*/
6060
~Material();
6161

62+
void Destroy();
63+
6264
/**
6365
* A movement assignment operator
6466
* @param other the Material to be moved

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,11 @@ Pipeline Pipeline::Builder::Build()
144144
}
145145

146146
Pipeline::~Pipeline()
147+
{
148+
Destroy();
149+
}
150+
151+
void Pipeline::Destroy()
147152
{
148153
auto device = Vulkan::Context::GetVkLogicalDevice();
149154

engine/render/renderer/platform/vulkan/Pipeline.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,11 @@ class Pipeline
146146
*/
147147
~Pipeline();
148148

149+
/**
150+
* Manual destruction function
151+
*/
152+
void Destroy();
153+
149154
/**
150155
* A Pipeline move assignment operator
151156
* @param other the Pipeline to be moved

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ Shader::Shader(const String& filePath,
129129
}
130130

131131
Shader::~Shader()
132+
{
133+
Destroy();
134+
}
135+
136+
void Shader::Destroy()
132137
{
133138
Utils::Shader::DestroyShaderModule(shaderModule);
134139
}

engine/render/renderer/platform/vulkan/Shader.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,8 @@ class Shader
288288
*/
289289
~Shader();
290290

291+
void Destroy();
292+
291293
static ::Siege::Utils::MHArray<char> ReadFileAsBinary(const String& filePath);
292294

293295
/**

engine/render/renderer/renderer/DebugRenderer3D.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ void DebugRenderer3D::Initialise(const String& globalDataAttributeName,
3737

3838
void DebugRenderer3D::Destroy()
3939
{
40-
lineMaterial.~Material();
40+
lineMaterial.Destroy();
4141
lineModel.DestroyModel();
4242
}
4343

engine/render/renderer/renderer/LightRenderer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void LightRenderer::Initialise(const String& globalDataAttributeName,
3333

3434
void LightRenderer::Destroy()
3535
{
36-
lightMaterial.~Material();
36+
lightMaterial.Destroy();
3737
lightModel.DestroyModel();
3838
}
3939

engine/render/renderer/renderer/ModelRenderer.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ void ModelRenderer::Initialise(const String& globalDataAttributeName,
2222
transformId = INTERN_STR("transforms");
2323
}
2424

25-
void ModelRenderer::Destroy() {}
26-
2725
void ModelRenderer::DrawModel(Model* model,
2826
const Vec3& position,
2927
const Vec3& scale,

engine/render/renderer/renderer/ModelRenderer.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ class ModelRenderer
2323
~ModelRenderer();
2424

2525
void Initialise(const String& globalDataAttributeName, const uint64_t& globalDataSize);
26-
void Destroy();
2726

2827
void DrawModel(Model* model, const Vec3& position, const Vec3& scale, const Vec3& rotation);
2928

0 commit comments

Comments
 (0)