25 lines
1,022 B
C++
25 lines
1,022 B
C++
module;
|
|
|
|
#include <cstdint>
|
|
#include <vulkan/vulkan.h>
|
|
#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);
|
|
}
|