| 633 | } |
| 634 | |
| 635 | void 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 | |
| 664 | void vkRenderer::createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, |
| 665 | VkBuffer &buffer, VkDeviceMemory &bufferMemory) { |
nothing calls this directly
no outgoing calls
no test coverage detected