From: Jeremy Kniager Date: Wed, 27 Mar 2019 17:34:46 +0000 (-0600) Subject: vulkaninfo: Add VK_EXT_buffer_device_address X-Git-Tag: upstream/1.2.179~286 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d3f3846e6710873c677235fdc38b8d3d3215d276;p=platform%2Fupstream%2FVulkan-Tools.git vulkaninfo: Add VK_EXT_buffer_device_address Added output for the following structure in the VK_EXT_buffer_device_address extension: VkPhysicalDeviceBufferAddressFeaturesEXT Change-Id: I04f18b62ccc485ea98522bafc01d9d3f15d19ac2 --- diff --git a/vulkaninfo/vulkaninfo.c b/vulkaninfo/vulkaninfo.c index dd76101..61085cb 100644 --- a/vulkaninfo/vulkaninfo.c +++ b/vulkaninfo/vulkaninfo.c @@ -1090,7 +1090,9 @@ static void AppGpuInit(struct AppGpu *gpu, struct AppInstance *inst, uint32_t id {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, .mem_size = sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT)}, {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, - .mem_size = sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT)}}; + .mem_size = sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT)}, + {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT, + .mem_size = sizeof(VkPhysicalDeviceBufferAddressFeaturesEXT)}}; uint32_t chain_info_len = ARRAY_SIZE(chain_info); @@ -3161,6 +3163,32 @@ static void AppGpuDumpFeatures(const struct AppGpu *gpu, FILE *out) { printf("======================================\n"); printf("\tmemoryPriority = %" PRIuLEAST32 "\n", memory_priority_features->memoryPriority); } + } else if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT && + CheckPhysicalDeviceExtensionIncluded(VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, gpu->device_extensions, + gpu->device_extension_count)) { + VkPhysicalDeviceBufferAddressFeaturesEXT *buffer_address_features = + (VkPhysicalDeviceBufferAddressFeaturesEXT *)structure; + if (html_output) { + fprintf(out, "\n\t\t\t\t\t
VkPhysicalDeviceBufferAddressFeatures\n"); + fprintf(out, + "\t\t\t\t\t\t
bufferDeviceAddress = %" PRIuLEAST32 + "
\n", + buffer_address_features->bufferDeviceAddress); + fprintf(out, + "\t\t\t\t\t\t
bufferDeviceAddressCaptureReplay = %" PRIuLEAST32 + "
\n", + buffer_address_features->bufferDeviceAddressCaptureReplay); + fprintf(out, + "\t\t\t\t\t\t
bufferDeviceAddressMultiDevice = %" PRIuLEAST32 + "
\n", + buffer_address_features->bufferDeviceAddressMultiDevice); + } else if (human_readable_output) { + printf("\nVkPhysicalDeviceBufferAddressFeatures:\n"); + printf("======================================\n"); + printf("\tbufferDeviceAddress = %" PRIuLEAST32 "\n", buffer_address_features->bufferDeviceAddress); + printf("\tbufferDeviceAddressCaptureReplay = %" PRIuLEAST32 "\n", buffer_address_features->bufferDeviceAddressCaptureReplay); + printf("\tbufferDeviceAddressMultiDevice = %" PRIuLEAST32 "\n", buffer_address_features->bufferDeviceAddressMultiDevice); + } } place = structure->pNext; }