fixed descriptors

This commit is contained in:
Jorijn van der Graaf 2026-01-29 23:31:56 +01:00
commit 5e3a7738ed
14 changed files with 334 additions and 167 deletions

View file

@ -25,7 +25,6 @@ export module Crafter.Graphics:PipelineRTVulkan;
#ifdef CRAFTER_GRAPHICS_VULKAN
import std;
import :VulkanDevice;
import :DescriptorLayoutVulkan;
import :VulkanBuffer;
import :Types;
@ -42,11 +41,11 @@ export namespace Crafter {
inline static VkStridedDeviceAddressRegionKHR hitRegion;
inline static VkStridedDeviceAddressRegionKHR callableRegion;
static void Init() {
static void Init(std::span<VkDescriptorSetLayout> setLayouts) {
VkPipelineLayoutCreateInfo pipelineLayoutInfo {
.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
.setLayoutCount = sizeof...(Shaders),
.pSetLayouts = DescriptorLayoutVulkan<Shaders...>::descriptorSetLayout
.setLayoutCount = static_cast<std::uint32_t>(setLayouts.size()),
.pSetLayouts = setLayouts.data()
};
VulkanDevice::CheckVkResult(vkCreatePipelineLayout(VulkanDevice::device, &pipelineLayoutInfo, nullptr, &pipelineLayout));