diff options
| author | Charles Giessen <charles@lunarg.com> | 2019-08-12 15:17:34 -0600 |
|---|---|---|
| committer | Charles Giessen <46324611+charles-lunarg@users.noreply.github.com> | 2019-08-28 14:02:04 -0600 |
| commit | 5e453384b73751d471467b34bb3e4e19e1073b96 (patch) | |
| tree | 3bd337dc6b62759cf5a5eb09d6a81a599dcc5491 | |
| parent | 9c86768e9f1a713ee234a6f61a9f56d38e680a59 (diff) | |
| download | usermoji-5e453384b73751d471467b34bb3e4e19e1073b96.tar.xz | |
vulkaninfo: Support for VK_EXT_full_screen_exclusive
Change-Id: Id3d0dfff6f2efff42a79630b096cdd2829d00e40
| -rw-r--r-- | vulkaninfo/vulkaninfo.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/vulkaninfo/vulkaninfo.c b/vulkaninfo/vulkaninfo.c index 14e0f9b9..54c4a4a6 100644 --- a/vulkaninfo/vulkaninfo.c +++ b/vulkaninfo/vulkaninfo.c @@ -2011,7 +2011,15 @@ static void AppDumpSurfaceCapabilities(struct AppInstance *inst, struct AppGpu * struct pNextChainBuildingBlockInfo sur_cap2_chain_info[] = { {.sType = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR, - .mem_size = sizeof(VkSharedPresentSurfaceCapabilitiesKHR)}}; + .mem_size = sizeof(VkSharedPresentSurfaceCapabilitiesKHR)}, + {.sType = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR, + .mem_size = sizeof(VkSurfaceProtectedCapabilitiesKHR)} +#ifdef VK_USE_PLATFORM_WIN32_KHR + , + {.sType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT, + .mem_size = sizeof(VkSurfaceCapabilitiesFullScreenExclusiveEXT)} +#endif + }; uint32_t sur_cap2_chain_info_len = ARRAY_SIZE(sur_cap2_chain_info); @@ -2133,6 +2141,25 @@ static void AppDumpSurfaceCapabilities(struct AppInstance *inst, struct AppGpu * printf("\tsupportsProtected = %" PRIuLEAST32 "\n", protected_surface_capabilities->supportsProtected); } } +#ifdef VK_USE_PLATFORM_WIN32_KHR + else if (work->sType == VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT && + CheckPhysicalDeviceExtensionIncluded(VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME, gpu->device_extensions, + gpu->device_extension_count)) { + VkSurfaceCapabilitiesFullScreenExclusiveEXT *full_screen_exclusive = + (VkSurfaceCapabilitiesFullScreenExclusiveEXT *)place; + if (html_output) { + fprintf(out, "\t\t\t\t\t\t<details><summary>VkSurfaceCapabilitiesFullScreenExclusiveEXT</summary>\n"); + fprintf(out, + "\t\t\t\t\t\t\t<details><summary>fullScreenExclusive = <span class='val'>%" PRIuLEAST32 + "</span></summary></details>\n", + full_screen_exclusive->fullScreenExclusiveSupported); + fprintf(out, "\t\t\t\t\t\t</details>\n"); + } else if (human_readable_output) { + printf("VkSurfaceCapabilitiesFullScreenExclusiveEXT\n"); + printf("\tfullScreenExclusive = %" PRIuLEAST32 "\n", full_screen_exclusive->fullScreenExclusiveSupported); + } + } +#endif place = work->pNext; } freepNextChain(surface_capabilities2.pNext); |
