From 9d841e22d2caa6df4379a840bc817c107cb6bbc2 Mon Sep 17 00:00:00 2001 From: Charles Giessen Date: Wed, 7 Aug 2019 16:34:18 -0600 Subject: [PATCH] vulkaninfo: support for imageless_framebuffer_khr Change-Id: Ia133befc18201c3bf05238653356cdaa0c162bf9 --- vulkaninfo/vulkaninfo.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/vulkaninfo/vulkaninfo.c b/vulkaninfo/vulkaninfo.c index 87d0530..ebcedc5 100644 --- a/vulkaninfo/vulkaninfo.c +++ b/vulkaninfo/vulkaninfo.c @@ -1108,7 +1108,9 @@ static void AppGpuInit(struct AppGpu *gpu, struct AppInstance *inst, uint32_t id {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR, .mem_size = sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR)}, {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, - .mem_size = sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT)}}; + .mem_size = sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT)}, + {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, + .mem_size = sizeof(VkPhysicalDeviceImagelessFramebufferFeaturesKHR)}}; uint32_t chain_info_len = ARRAY_SIZE(chain_info); @@ -3440,6 +3442,24 @@ static void AppGpuDumpFeatures(const struct AppGpu *gpu, FILE *out) { printf("\tfragmentShaderShadingRateInterlock = %" PRIuLEAST32 "\n", fragment_shader_features->fragmentShaderShadingRateInterlock); } + } else if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR && + CheckPhysicalDeviceExtensionIncluded(VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, + gpu->device_extensions, gpu->device_extension_count)) { + VkPhysicalDeviceImagelessFramebufferFeaturesKHR *imageless_framebuffer = + (VkPhysicalDeviceImagelessFramebufferFeaturesKHR *)structure; + if (html_output) { + fprintf(out, + "\n\t\t\t\t\t
VkPhysicalDeviceImagelessFramebufferFeaturesKHR\n"); + fprintf(out, + "\t\t\t\t\t\t
imagelessFramebuffer = %" PRIuLEAST32 + "
\n", + imageless_framebuffer->imagelessFramebuffer); + fprintf(out, "\t\t\t\t\t
\n"); + } else if (human_readable_output) { + printf("\nVkPhysicalDeviceImagelessFramebufferFeaturesKHR:\n"); + printf("================================================\n"); + printf("\timagelessFramebuffer = %" PRIuLEAST32 "\n", imageless_framebuffer->imagelessFramebuffer); + } } place = structure->pNext; } -- 2.7.4