module; #include #include #include "VulkanInitializers.hpp" module Crafter.Graphics; using namespace Crafter; VulkanElement::VulkanElement(VkPipelineLayout pipelineLayout, VkPipeline pipeline) : pipelineLayout(pipelineLayout), pipeline(pipeline) { } VulkanElement::VulkanElement(VkPipelineLayout pipelineLayout, VkPipeline pipeline, std::uint32_t sizeX, std::uint32_t sizeY, std::uint32_t sizeZ) : pipelineLayout(pipelineLayout), pipeline(pipeline), sizeX(sizeX), sizeY(sizeY), sizeZ(sizeZ) { } void VulkanElement::WriteDescriptor(VkWriteDescriptorSet* set, std::uint32_t count) { vkUpdateDescriptorSets(VulkanDevice::device, count, set, 0, nullptr); } void VulkanElement::WriteDescriptor(std::uint32_t stage, VkDescriptorType type, std::uint32_t binding, VkDescriptorBufferInfo* buffer) { VkWriteDescriptorSet write = vks::initializers::writeDescriptorSet(descriptorSet[stage], type, binding, buffer); vkUpdateDescriptorSets(VulkanDevice::device, 1, &write, 0, nullptr); }