aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Giessen <charles@lunarg.com>2019-08-12 15:17:34 -0600
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>2019-08-28 14:02:04 -0600
commit5e453384b73751d471467b34bb3e4e19e1073b96 (patch)
tree3bd337dc6b62759cf5a5eb09d6a81a599dcc5491
parent9c86768e9f1a713ee234a6f61a9f56d38e680a59 (diff)
downloadusermoji-5e453384b73751d471467b34bb3e4e19e1073b96.tar.xz
vulkaninfo: Support for VK_EXT_full_screen_exclusive
Change-Id: Id3d0dfff6f2efff42a79630b096cdd2829d00e40
-rw-r--r--vulkaninfo/vulkaninfo.c29
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);