summaryrefslogtreecommitdiff
path: root/src/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core.cpp')
-rw-r--r--src/core.cpp69
1 files changed, 56 insertions, 13 deletions
diff --git a/src/core.cpp b/src/core.cpp
index f3f0e14..ae8db70 100644
--- a/src/core.cpp
+++ b/src/core.cpp
@@ -540,12 +540,12 @@ unload_vk_graphics_pipeline_3d_layout(void *obj)
}
void
-load_vk_graphics_pipeline_2d_layout(void *obj)
+load_vk_graphics_pipeline_2d_solid_layout(void *obj)
{
try
{
- cg_core.vk_graphics_pipeline_2d_layout =
- new VK::GraphicsPipeline2DLayout();
+ cg_core.vk_graphics_pipeline_2d_solid_layout =
+ new VK::GraphicsPipeline2DSolidLayout();
}
catch(const CommandError &e)
{
@@ -554,9 +554,29 @@ load_vk_graphics_pipeline_2d_layout(void *obj)
}
void
-unload_vk_graphics_pipeline_2d_layout(void *obj)
+unload_vk_graphics_pipeline_2d_solid_layout(void *obj)
{
- delete cg_core.vk_graphics_pipeline_2d_layout;
+ delete cg_core.vk_graphics_pipeline_2d_solid_layout;
+}
+
+void
+load_vk_graphics_pipeline_2d_wired_layout(void *obj)
+{
+ try
+ {
+ cg_core.vk_graphics_pipeline_2d_wired_layout =
+ new VK::GraphicsPipeline2DWiredLayout();
+ }
+ catch(const CommandError &e)
+ {
+ throw CommandError{"Failed to create 2d graphics pipeline."};
+ }
+}
+
+void
+unload_vk_graphics_pipeline_2d_wired_layout(void *obj)
+{
+ delete cg_core.vk_graphics_pipeline_2d_wired_layout;
}
void
@@ -580,12 +600,32 @@ unload_vk_graphics_pipeline_3d(void *obj)
}
void
-load_vk_graphics_pipeline_2d(void *obj)
+load_vk_graphics_pipeline_2d_solid(void *obj)
+{
+ try
+ {
+ cg_core.vk_graphics_pipeline_2d_solid =
+ std::make_unique<VK::GraphicsPipeline2DSolid>();
+ }
+ catch(const CommandError &e)
+ {
+ throw CommandError{"Failed to create 2d graphics pipeline."};
+ }
+}
+
+void
+unload_vk_graphics_pipeline_2d_solid(void *obj)
+{
+ cg_core.vk_graphics_pipeline_2d_solid = nullptr;
+}
+
+void
+load_vk_graphics_pipeline_2d_wired(void *obj)
{
try
{
- cg_core.vk_graphics_pipeline_2d =
- std::make_unique<VK::GraphicsPipeline2D>();
+ cg_core.vk_graphics_pipeline_2d_wired =
+ std::make_unique<VK::GraphicsPipeline2DWired>();
}
catch(const CommandError &e)
{
@@ -594,9 +634,9 @@ load_vk_graphics_pipeline_2d(void *obj)
}
void
-unload_vk_graphics_pipeline_2d(void *obj)
+unload_vk_graphics_pipeline_2d_wired(void *obj)
{
- cg_core.vk_graphics_pipeline_2d = nullptr;
+ cg_core.vk_graphics_pipeline_2d_wired = nullptr;
}
void
@@ -672,10 +712,13 @@ const CommandChain cg_sCore::loader{
{&load_vk_graphics_pipeline_3d_layout,
&unload_vk_graphics_pipeline_3d_layout},
- {&load_vk_graphics_pipeline_2d_layout,
- &unload_vk_graphics_pipeline_2d_layout},
+ {&load_vk_graphics_pipeline_2d_solid_layout,
+ &unload_vk_graphics_pipeline_2d_solid_layout},
+ {&load_vk_graphics_pipeline_2d_wired_layout,
+ &unload_vk_graphics_pipeline_2d_wired_layout},
{&load_vk_graphics_pipeline_3d, &unload_vk_graphics_pipeline_3d},
- {&load_vk_graphics_pipeline_2d, &unload_vk_graphics_pipeline_2d},
+ {&load_vk_graphics_pipeline_2d_solid, &unload_vk_graphics_pipeline_2d_solid},
+ {&load_vk_graphics_pipeline_2d_wired, &unload_vk_graphics_pipeline_2d_wired},
{&load_vk_renderer, &unload_vk_renderer},
{&load_mruby_interface, nullptr}