diff options
| author | Jeremy Kniager <jeremyk@lunarg.com> | 2019-03-27 11:34:46 -0600 |
|---|---|---|
| committer | jeremyk-lunarg <jeremyk@lunarg.com> | 2019-04-08 14:57:12 -0600 |
| commit | d3f3846e6710873c677235fdc38b8d3d3215d276 (patch) | |
| tree | 6d322e6f348ce0c7a816d20af8fbe9b21fe9dcb0 | |
| parent | 3f91f45807736bebfdc7997e5b36ad0d186a7892 (diff) | |
| download | usermoji-d3f3846e6710873c677235fdc38b8d3d3215d276.tar.xz | |
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
| -rw-r--r-- | vulkaninfo/vulkaninfo.c | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/vulkaninfo/vulkaninfo.c b/vulkaninfo/vulkaninfo.c index dd761010..61085cb5 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<details><summary>VkPhysicalDeviceBufferAddressFeatures</summary>\n"); + fprintf(out, + "\t\t\t\t\t\t<details><summary>bufferDeviceAddress = <span class='val'>%" PRIuLEAST32 + "</span></summary></details>\n", + buffer_address_features->bufferDeviceAddress); + fprintf(out, + "\t\t\t\t\t\t<details><summary>bufferDeviceAddressCaptureReplay = <span class='val'>%" PRIuLEAST32 + "</span></summary></details>\n", + buffer_address_features->bufferDeviceAddressCaptureReplay); + fprintf(out, + "\t\t\t\t\t\t<details><summary>bufferDeviceAddressMultiDevice = <span class='val'>%" PRIuLEAST32 + "</span></summary></details>\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; } |
