aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Kniager <jeremyk@lunarg.com>2019-03-27 11:34:46 -0600
committerjeremyk-lunarg <jeremyk@lunarg.com>2019-04-08 14:57:12 -0600
commitd3f3846e6710873c677235fdc38b8d3d3215d276 (patch)
tree6d322e6f348ce0c7a816d20af8fbe9b21fe9dcb0
parent3f91f45807736bebfdc7997e5b36ad0d186a7892 (diff)
downloadusermoji-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.c30
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;
}