summaryrefslogtreecommitdiff
path: root/src/vk/graphics_pipeline_2d_solid_layout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vk/graphics_pipeline_2d_solid_layout.cpp')
-rw-r--r--src/vk/graphics_pipeline_2d_solid_layout.cpp80
1 files changed, 2 insertions, 78 deletions
diff --git a/src/vk/graphics_pipeline_2d_solid_layout.cpp b/src/vk/graphics_pipeline_2d_solid_layout.cpp
index e6c871f..cbd656a 100644
--- a/src/vk/graphics_pipeline_2d_solid_layout.cpp
+++ b/src/vk/graphics_pipeline_2d_solid_layout.cpp
@@ -25,87 +25,13 @@ namespace
{
void
-load_descriptor_set_view(void *obj)
-{
- auto self = static_cast<VK::GraphicsPipeline2DSolidLayout*>(obj);
-
- std::array<VkDescriptorSetLayoutBinding, 1> layout_bindings{};
-
- layout_bindings[0].binding = 0;
- layout_bindings[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
- layout_bindings[0].descriptorCount = 1;
- layout_bindings[0].stageFlags = VK_SHADER_STAGE_VERTEX_BIT;
- layout_bindings[0].pImmutableSamplers = nullptr;
-
- VkDescriptorSetLayoutCreateInfo layout_info{};
- layout_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
- layout_info.pNext = nullptr;
- layout_info.flags = 0;
- layout_info.bindingCount = static_cast<uint32_t>(layout_bindings.size());
- layout_info.pBindings = layout_bindings.data();
-
- if(vkCreateDescriptorSetLayout(
- cg_core.vk_device_with_swapchain->device, &layout_info, nullptr,
- &self->descriptor_set_view) != VK_SUCCESS)
- throw CommandError{
- "Failed to create Vulkan descriptor set layout for projection."};
-}
-
-void
-unload_descriptor_set_view(void *obj)
-{
- auto self = static_cast<VK::GraphicsPipeline2DSolidLayout*>(obj);
-
- vkDestroyDescriptorSetLayout(
- cg_core.vk_device_with_swapchain->device, self->descriptor_set_view,
- nullptr);
-}
-
-void
-load_descriptor_set_sprite(void *obj)
-{
- auto self = static_cast<VK::GraphicsPipeline2DSolidLayout*>(obj);
-
- std::array<VkDescriptorSetLayoutBinding, 1> layout_bindings{};
-
- layout_bindings[0].binding = 0;
- layout_bindings[0].descriptorType =
- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
- layout_bindings[0].descriptorCount = 1;
- layout_bindings[0].stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT;
- layout_bindings[0].pImmutableSamplers = nullptr;
-
- VkDescriptorSetLayoutCreateInfo layout_info{};
- layout_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
- layout_info.pNext = nullptr;
- layout_info.flags = 0;
- layout_info.bindingCount = static_cast<uint32_t>(layout_bindings.size());
- layout_info.pBindings = layout_bindings.data();
-
- if(vkCreateDescriptorSetLayout(
- cg_core.vk_device_with_swapchain->device, &layout_info, nullptr,
- &self->descriptor_set_sprite) != VK_SUCCESS)
- throw CommandError{
- "Failed to create Vulkan descriptor set layout for sprites."};
-}
-
-void
-unload_descriptor_set_sprite(void *obj)
-{
- auto self = static_cast<VK::GraphicsPipeline2DSolidLayout*>(obj);
-
- vkDestroyDescriptorSetLayout(
- cg_core.vk_device_with_swapchain->device, self->descriptor_set_sprite,
- nullptr);
-}
-
-void
load_pipeline(void *obj)
{
auto self = static_cast<VK::GraphicsPipeline2DSolidLayout*>(obj);
std::array<VkDescriptorSetLayout, 2> set_layouts{
- self->descriptor_set_view, self->descriptor_set_sprite
+ cg_core.vk_descriptor_set_layout->view,
+ cg_core.vk_descriptor_set_layout->sprite
};
std::array<VkPushConstantRange, 1> push_constants;
@@ -207,8 +133,6 @@ unload_render_pass(void *obj)
}
const CommandChain loader{
- {&load_descriptor_set_view, &unload_descriptor_set_view},
- {&load_descriptor_set_sprite, &unload_descriptor_set_sprite},
{&load_pipeline, &unload_pipeline},
{&load_render_pass, &unload_render_pass}
};