This commit is contained in:
Jorijn van der Graaf 2025-04-26 23:05:11 +02:00
commit 05c19c3f94
11 changed files with 412 additions and 345 deletions

View file

@ -2,14 +2,24 @@ module;
#include <cstdint>
#include <vulkan/vulkan.h>
#include "VulkanInitializers.hpp"
module Crafter.Graphics;
using namespace Crafter;
VulkanElement::VulkanElement(VkPipelineLayout pipelineLayout, VkDescriptorSet* descriptorSet, VkPipeline pipeline) : pipelineLayout(pipelineLayout), descriptorSet(descriptorSet), pipeline(pipeline) {
VulkanElement::VulkanElement(VkPipelineLayout pipelineLayout, VkPipeline pipeline) : pipelineLayout(pipelineLayout), pipeline(pipeline) {
}
VulkanElement::VulkanElement(VkPipelineLayout pipelineLayout, VkDescriptorSet* descriptorSet, VkPipeline pipeline, std::uint32_t sizeX, std::uint32_t sizeY, std::uint32_t sizeZ) : pipelineLayout(pipelineLayout), descriptorSet(descriptorSet), pipeline(pipeline), sizeX(sizeX), sizeY(sizeY), sizeZ(sizeZ) {
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);
}