summaryrefslogtreecommitdiff
path: root/src/core.cpp
diff options
context:
space:
mode:
authorFrederico Linhares <fred@linhares.blue>2023-09-29 14:57:40 -0300
committerFrederico Linhares <fred@linhares.blue>2023-09-29 14:57:40 -0300
commitb44c79e11ba574c74ae650e1430b1d173aacc910 (patch)
treedca509d3b2c07d6e36039cfd6b7102372d0fbba9 /src/core.cpp
parentfd4279d77fdc64a534a2bbc05b2f5d3852c765f7 (diff)
refa Move all descriptor sets to a new class
* src/vk/descriptor_set_layout.hpp: Moving all descriptor sets in the same class makes it easier to identify code duplication. * src/vk/graphics_pipeline_2d_solid_layout.cpp, src/vk/graphics_pipeline_2d_wired_layout.cpp, src/vk/graphics_pipeline_3d_layout.cpp: Remove redundant descriptor set layouts.
Diffstat (limited to 'src/core.cpp')
-rw-r--r--src/core.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/core.cpp b/src/core.cpp
index 986ecc1..34271bc 100644
--- a/src/core.cpp
+++ b/src/core.cpp
@@ -525,6 +525,25 @@ unload_vk_swapchain(void *obj)
}
void
+load_vk_descriptor_set_layout(void *obj)
+{
+ try
+ {
+ cg_core.vk_descriptor_set_layout = new VK::DescriptorSetLayout();
+ }
+ catch(const CommandError &e)
+ {
+ throw CommandError{"Failed to create descriptor set layouts."};
+ }
+}
+
+void
+unload_vk_descriptor_set_layout(void *obj)
+{
+ delete cg_core.vk_descriptor_set_layout;
+}
+
+void
load_vk_graphics_pipeline_3d_layout(void *obj)
{
try
@@ -728,6 +747,7 @@ const CommandChain cg_sCore::loader{
{&load_vk_devices, &unload_vk_devices},
{&load_vk_swapchain, &unload_vk_swapchain},
+ {&load_vk_descriptor_set_layout, &unload_vk_descriptor_set_layout},
{&load_vk_graphics_pipeline_3d_layout,
&unload_vk_graphics_pipeline_3d_layout},
{&load_vk_graphics_pipeline_2d_solid_layout,