diff options
Diffstat (limited to 'src/vk/graphics_pipeline_2d_solid_layout.cpp')
-rw-r--r-- | src/vk/graphics_pipeline_2d_solid_layout.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/vk/graphics_pipeline_2d_solid_layout.cpp b/src/vk/graphics_pipeline_2d_solid_layout.cpp index 6f0da0e..0ed41d0 100644 --- a/src/vk/graphics_pipeline_2d_solid_layout.cpp +++ b/src/vk/graphics_pipeline_2d_solid_layout.cpp @@ -19,6 +19,7 @@ #include <array> #include "../core.hpp" +#include "uniform_data_object.hpp" namespace { @@ -65,21 +66,15 @@ load_descriptor_set_sprite(void *obj) { auto self = static_cast<VK::GraphicsPipeline2DSolidLayout*>(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; layout_info.pNext = nullptr; @@ -113,12 +108,17 @@ load_pipeline(void *obj) self->descriptor_set_view, self->descriptor_set_sprite }; + std::array<VkPushConstantRange, 1> push_constants; + push_constants[0].stageFlags = VK_SHADER_STAGE_VERTEX_BIT; + push_constants[0].offset = 0; + push_constants[0].size = sizeof(VK::ODOVector4D); + VkPipelineLayoutCreateInfo pipeline_layout_info{}; pipeline_layout_info.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; pipeline_layout_info.setLayoutCount = set_layouts.size(); pipeline_layout_info.pSetLayouts = set_layouts.data(); - pipeline_layout_info.pushConstantRangeCount = 0; - pipeline_layout_info.pPushConstantRanges = nullptr; + pipeline_layout_info.pushConstantRangeCount = push_constants.size(); + pipeline_layout_info.pPushConstantRanges = push_constants.data(); if(vkCreatePipelineLayout( cg_core.vk_device_with_swapchain->device, &pipeline_layout_info, |