Add push constants handling for shaders
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
namespace OpenVulkano::Vulkan
|
||||
{
|
||||
static_assert(sizeof(vk::DescriptorSetLayoutBinding) == sizeof(DescriptorSetLayoutBinding));
|
||||
static_assert(sizeof(vk::PushConstantRange) == sizeof(PushConstantRange));
|
||||
|
||||
VulkanShader::~VulkanShader()
|
||||
{
|
||||
@@ -148,9 +149,8 @@ namespace OpenVulkano::Vulkan
|
||||
vk::DescriptorSetLayoutCreateInfo createInfo { {}, static_cast<uint32_t>(set.size()), reinterpret_cast<const vk::DescriptorSetLayoutBinding*>(set.data()) };
|
||||
descriptorSetLayouts.push_back(device.createDescriptorSetLayout(createInfo));
|
||||
}
|
||||
|
||||
|
||||
vk::PipelineLayoutCreateInfo plci = { {}, static_cast<uint32_t>(descriptorSetLayouts.size()), descriptorSetLayouts.data(), 0, nullptr };
|
||||
vk::PushConstantRange* pcRanges = reinterpret_cast<vk::PushConstantRange*>(shader->pushConstantRanges.data());
|
||||
vk::PipelineLayoutCreateInfo plci = {{}, static_cast<uint32_t>(descriptorSetLayouts.size()), descriptorSetLayouts.data(), static_cast<uint32_t>(shader->pushConstantRanges.size()), pcRanges };
|
||||
pipelineLayout = this->device.createPipelineLayout(plci);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user