summaryrefslogtreecommitdiff
path: root/src/vk/descriptor_set_layout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vk/descriptor_set_layout.cpp')
-rw-r--r--src/vk/descriptor_set_layout.cpp44
1 files changed, 19 insertions, 25 deletions
diff --git a/src/vk/descriptor_set_layout.cpp b/src/vk/descriptor_set_layout.cpp
index 0a96a56..8a2f4ef 100644
--- a/src/vk/descriptor_set_layout.cpp
+++ b/src/vk/descriptor_set_layout.cpp
@@ -101,22 +101,18 @@ unload_view(void *obj)
}
void
-load_model(void *obj)
+load_texture(void *obj)
{
auto self = static_cast<VK::DescriptorSetLayout*>(obj);
- std::array<VkDescriptorSetLayoutBinding, 2> layout_bindings;
+ std::array<VkDescriptorSetLayoutBinding, 1> layout_bindings{};
+
layout_bindings[0].binding = 0;
- layout_bindings[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
+ layout_bindings[0].descriptorType =
+ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
layout_bindings[0].descriptorCount = 1;
- layout_bindings[0].stageFlags = VK_SHADER_STAGE_VERTEX_BIT;
+ layout_bindings[0].stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT;
layout_bindings[0].pImmutableSamplers = nullptr;
- layout_bindings[1].binding = 1;
- layout_bindings[1].descriptorType =
- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
- layout_bindings[1].descriptorCount = 1;
- layout_bindings[1].stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT;
- layout_bindings[1].pImmutableSamplers = nullptr;
VkDescriptorSetLayoutCreateInfo layout_info{};
layout_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
@@ -127,32 +123,30 @@ load_model(void *obj)
if(vkCreateDescriptorSetLayout(
cg_core.vk_device_with_swapchain->device, &layout_info, nullptr,
- &self->model) != VK_SUCCESS)
+ &self->texture) != VK_SUCCESS)
throw CommandError{
- "Failed to create Vulkan descriptor set layout for model instance."};
+ "Failed to create Vulkan descriptor set layout for textures."};
}
void
-unload_model(void *obj)
+unload_texture(void *obj)
{
auto self = static_cast<VK::DescriptorSetLayout*>(obj);
vkDestroyDescriptorSetLayout(
- cg_core.vk_device_with_swapchain->device, self->model, nullptr);
+ cg_core.vk_device_with_swapchain->device, self->texture, nullptr);
}
void
-load_sprite(void *obj)
+load_model(void *obj)
{
auto self = static_cast<VK::DescriptorSetLayout*>(obj);
- std::array<VkDescriptorSetLayoutBinding, 1> layout_bindings{};
-
+ std::array<VkDescriptorSetLayoutBinding, 1> layout_bindings;
layout_bindings[0].binding = 0;
- layout_bindings[0].descriptorType =
- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
+ layout_bindings[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
layout_bindings[0].descriptorCount = 1;
- layout_bindings[0].stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT;
+ layout_bindings[0].stageFlags = VK_SHADER_STAGE_VERTEX_BIT;
layout_bindings[0].pImmutableSamplers = nullptr;
VkDescriptorSetLayoutCreateInfo layout_info{};
@@ -164,25 +158,25 @@ load_sprite(void *obj)
if(vkCreateDescriptorSetLayout(
cg_core.vk_device_with_swapchain->device, &layout_info, nullptr,
- &self->sprite) != VK_SUCCESS)
+ &self->model) != VK_SUCCESS)
throw CommandError{
- "Failed to create Vulkan descriptor set layout for sprites."};
+ "Failed to create Vulkan descriptor set layout for model instance."};
}
void
-unload_sprite(void *obj)
+unload_model(void *obj)
{
auto self = static_cast<VK::DescriptorSetLayout*>(obj);
vkDestroyDescriptorSetLayout(
- cg_core.vk_device_with_swapchain->device, self->sprite, nullptr);
+ cg_core.vk_device_with_swapchain->device, self->model, nullptr);
}
const CommandChain loader{
{&load_world, &unload_world},
{&load_view, &unload_view},
+ {&load_texture, &unload_texture},
{&load_model, &unload_model},
- {&load_sprite, &unload_sprite},
};
}