aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Kniager <jeremyk@lunarg.com>2019-01-03 11:10:41 -0700
committerjeremyk-lunarg <jeremyk@lunarg.com>2019-01-09 10:54:27 -0700
commita5ca93503e5528f1b3f08fad106daa02fc1afdea (patch)
treedb0d2810a509cfd8d17ac878a55a0ace1f1c92d4
parent5190ca9e4c8e6eae1bacbfc93eb6013a5ee1901e (diff)
downloadusermoji-a5ca93503e5528f1b3f08fad106daa02fc1afdea.tar.xz
vulkaninfo: Add VK_KHR_shader_atomic_int64
Added output for the following structure from extension VK_KHR_shader_atomic_int64: VkPhysicalDeviceShaderAtomicInt64FeaturesKHR Change-Id: I2979e656db9268c5a11290bb5c77e1ebd3059ea1
-rw-r--r--vulkaninfo/vulkaninfo.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/vulkaninfo/vulkaninfo.c b/vulkaninfo/vulkaninfo.c
index df060ca6..eb631744 100644
--- a/vulkaninfo/vulkaninfo.c
+++ b/vulkaninfo/vulkaninfo.c
@@ -1093,7 +1093,9 @@ static void AppGpuInit(struct AppGpu *gpu, struct AppInstance *inst, uint32_t id
{.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR,
.mem_size = sizeof(VkPhysicalDeviceMultiviewFeaturesKHR)},
{.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR,
- .mem_size = sizeof(VkPhysicalDeviceFloat16Int8FeaturesKHR)}};
+ .mem_size = sizeof(VkPhysicalDeviceFloat16Int8FeaturesKHR)},
+ {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR,
+ .mem_size = sizeof(VkPhysicalDeviceShaderAtomicInt64FeaturesKHR)}};
uint32_t chain_info_len = ARRAY_SIZE(chain_info);
@@ -2317,13 +2319,24 @@ static void AppGpuDumpFeatures(const struct AppGpu *gpu, FILE *out) {
fprintf(out, "\t\t\t\t\t\t<details><summary>shaderFloat16 = <div class='val'>%" PRIuLEAST32 "</div></summary></details>\n", float_int_features->shaderFloat16);
fprintf(out, "\t\t\t\t\t\t<details><summary>shaderInt8 = <div class='val'>%" PRIuLEAST32 "</div></summary></details>\n", float_int_features->shaderInt8);
fprintf(out, "\t\t\t\t\t</details>\n");
- }
- else if (human_readable_output) {
+ } else if (human_readable_output) {
printf("\nVkPhysicalDeviceFloat16Int8Features:\n");
printf("====================================\n");
printf("\tshaderFloat16 = %" PRIuLEAST32 "\n", float_int_features->shaderFloat16);
printf("\tshaderInt8 = %" PRIuLEAST32 "\n", float_int_features->shaderInt8);
}
+ } else if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR && CheckPhysicalDeviceExtensionIncluded(VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, gpu->device_extensions, gpu->device_extension_count)) {
+ VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *shader_atomic_int64_features = (VkPhysicalDeviceShaderAtomicInt64FeaturesKHR*)structure;
+ if (html_output) {
+ fprintf(out, "\n\t\t\t\t\t<details><summary>VkPhysicalDeviceShaderAtomicInt64Features</summary>\n");
+ fprintf(out, "\t\t\t\t\t\t<details><summary>shaderBufferInt64Atomics = <div class='val'>%" PRIuLEAST32 "</div></summary></details>\n", shader_atomic_int64_features->shaderBufferInt64Atomics);
+ fprintf(out, "\t\t\t\t\t\t<details><summary>shaderSharedInt64Atomics = <div class='val'>%" PRIuLEAST32 "</div></summary></details>\n", shader_atomic_int64_features->shaderSharedInt64Atomics);
+ } else if (human_readable_output) {
+ printf("\nVkPhysicalDeviceShaderAtomicInt64Features:\n");
+ printf("==========================================\n");
+ printf("\tshaderBufferInt64Atomics = %" PRIuLEAST32 "\n", shader_atomic_int64_features->shaderBufferInt64Atomics);
+ printf("\tshaderSharedInt64Atomics = %" PRIuLEAST32 "\n", shader_atomic_int64_features->shaderSharedInt64Atomics);
+ }
}
place = structure->pNext;
}