Check all Extension we need meet;.
- Parameters
-
| [in] | device | VkPhysicalDevice. |
- Returns
- Returns true if all Extension we need meet.
Get all physicaldevice extensions nums.
Get all physicaldevice extensions that supported.
Get all physicaldevice extension requirements our engine needed.
Check whether all extensions satisfied.
Get NvperfDeviceExtensions.
Add NvperfDeviceExtensions to m_ExtensionProperties.
Get all physicaldevice extensions nums.
Get all physicaldevice extensions that supported.
Get all physicaldevice extension requirements our engine needed.
Check whether all extensions satisfied.
Get NvperfDeviceExtensions.
Add NvperfDeviceExtensions to m_ExtensionProperties.
Definition at line 584 of file VulkanDevice.cpp.
585 {
587
591 uint32_t extensionCount;
592 vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, nullptr);
593
597 std::vector<VkExtensionProperties> availableExtensions(extensionCount);
598 vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, availableExtensions.data());
599
604
609
613 std::vector<const char*> nvperfDeviceExtensions;
615
616 for (auto& e : nvperfDeviceExtensions)
617 {
618 requiredExtensions.insert(e);
619 }
620
621 for (const auto& extension : availableExtensions)
622 {
623 requiredExtensions.erase(extension.extensionName);
624 }
625
626 if (requiredExtensions.empty())
627 {
632
633 return true;
634 }
635 else
636 {
637 for (auto& set : requiredExtensions)
638 {
639 VkPhysicalDeviceProperties deviceProperties;
640 vkGetPhysicalDeviceProperties(device, &deviceProperties);
641
642 std::stringstream ss;
643 ss << "Device Extension Required: " << set << ", Which is not satisfied with device: " << deviceProperties.deviceName;
644 SPICES_CORE_WARN(ss.str())
645 }
646
647 return false;
648 }
649 }
#define NSIGHTPERF_GPUPROFILERHUD_QUERYDEVICEEXTENSION(...)
#define SPICES_PROFILE_ZONE
void GetExtensionRequirements()
Get all physical device extension requirements our engine needed. Source 1 : user Setting.
std::vector< const char * > m_ExtensionProperties
Device Extension Properties.
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.
References GetExtensionRequirements().