MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / GetSize

Method GetSize

layers/utils/descriptor_utils.cpp:365–389  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

363}
364
365VkDeviceSize CachedDescriptorSize::GetSize(VkDescriptorType type, bool use_heap) const {
366 uint32_t index = (uint32_t)type;
367 if (type == VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR) {
368 // takes VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER value at index 1
369 index = 1;
370 } else if (type == VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV) {
371 // takes VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC value at index 8
372 index = 8;
373 } else if (type == VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV) {
374 // takes VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC value at index 9
375 index = 9;
376 } else if (type == VK_DESCRIPTOR_TYPE_TENSOR_ARM) {
377 index = 11;
378 } else if (type == VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM) {
379 index = 12;
380 } else if (type == VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM) {
381 index = 13;
382 } else {
383 assert(IsValueIn(
384 type, {VK_DESCRIPTOR_TYPE_SAMPLER, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
385 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
386 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT}));
387 }
388 return use_heap ? heap_size_[index] : buffer_size_[index];
389}
390
391std::vector<VkDeviceSize> CachedDescriptorSize::GetAllSizes(bool use_heap) const {
392 std::vector<VkDeviceSize> sizes;

Calls 1

IsValueInFunction · 0.85

Tested by

no test coverage detected