MCPcopy Create free account
hub / github.com/OpenNFS/OpenNFS / createDescriptorSet

Method createDescriptorSet

src/Renderer/vkRenderer.cpp:635–662  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

633}
634
635void vkRenderer::createDescriptorSet() {
636 VkDescriptorSetLayout layouts[] = {descriptorSetLayout};
637 VkDescriptorSetAllocateInfo allocInfo = {};
638 allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
639 allocInfo.descriptorPool = descriptorPool;
640 allocInfo.descriptorSetCount = 1;
641 allocInfo.pSetLayouts = layouts;
642
643 if (vkAllocateDescriptorSets(device, &allocInfo, &descriptorSet) != VK_SUCCESS) {
644 throw std::runtime_error("failed to allocate descriptor set!");
645 }
646
647 VkDescriptorBufferInfo bufferInfo = {};
648 bufferInfo.buffer = uniformBuffer;
649 bufferInfo.offset = 0;
650 bufferInfo.range = sizeof(UniformBufferObject);
651
652 VkWriteDescriptorSet descriptorWrite = {};
653 descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
654 descriptorWrite.dstSet = descriptorSet;
655 descriptorWrite.dstBinding = 0;
656 descriptorWrite.dstArrayElement = 0;
657 descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
658 descriptorWrite.descriptorCount = 1;
659 descriptorWrite.pBufferInfo = &bufferInfo;
660
661 vkUpdateDescriptorSets(device, 1, &descriptorWrite, 0, nullptr);
662}
663
664void vkRenderer::createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties,
665 VkBuffer &buffer, VkDeviceMemory &bufferMemory) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected