MCPcopy Create free account
hub / github.com/android/ndk-samples / createDescriptorSets

Method createDescriptorSets

hello-vulkan/app/src/main/cpp/hellovk.h:500–529  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

498}
499
500void HelloVK::createDescriptorSets() {
501 std::vector<VkDescriptorSetLayout> layouts(MAX_FRAMES_IN_FLIGHT,
502 descriptorSetLayout);
503 VkDescriptorSetAllocateInfo allocInfo{};
504 allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
505 allocInfo.descriptorPool = descriptorPool;
506 allocInfo.descriptorSetCount = static_cast<uint32_t>(MAX_FRAMES_IN_FLIGHT);
507 allocInfo.pSetLayouts = layouts.data();
508
509 descriptorSets.resize(MAX_FRAMES_IN_FLIGHT);
510 VK_CHECK(vkAllocateDescriptorSets(device, &allocInfo, descriptorSets.data()));
511
512 for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) {
513 VkDescriptorBufferInfo bufferInfo{};
514 bufferInfo.buffer = uniformBuffers[i];
515 bufferInfo.offset = 0;
516 bufferInfo.range = sizeof(UniformBufferObject);
517
518 VkWriteDescriptorSet descriptorWrite{};
519 descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
520 descriptorWrite.dstSet = descriptorSets[i];
521 descriptorWrite.dstBinding = 0;
522 descriptorWrite.dstArrayElement = 0;
523 descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
524 descriptorWrite.descriptorCount = 1;
525 descriptorWrite.pBufferInfo = &bufferInfo;
526
527 vkUpdateDescriptorSets(device, 1, &descriptorWrite, 0, nullptr);
528 }
529}
530
531void HelloVK::updateUniformBuffer(uint32_t currentImage) {
532 SwapChainSupportDetails swapChainSupport =

Callers

nothing calls this directly

Calls 2

dataMethod · 0.80
resizeMethod · 0.45

Tested by

no test coverage detected