diff options
Diffstat (limited to 'src/core.cpp')
-rw-r--r-- | src/core.cpp | 69 |
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} |