diff options
author | Charles Giessen <charles@lunarg.com> | 2019-08-07 17:19:00 -0600 |
---|---|---|
committer | Charles Giessen <46324611+charles-lunarg@users.noreply.github.com> | 2019-08-08 17:17:14 -0600 |
commit | 6197277649d499c290394e26fbf22d734f164472 (patch) | |
tree | 545fe874a4b45231e89cde56d64cb0037071c019 | |
parent | b57642408b5cfbe8268277ce1c18a20f2fc6f4af (diff) | |
download | vulkan-tools-6197277649d499c290394e26fbf22d734f164472.tar.gz |
vulkaninfo: Support for ShaderDemoteToHelperInvocationExt
Change-Id: I5188ffd477d16a3af8d48c69dc411feee76b1f7f
-rw-r--r-- | vulkaninfo/vulkaninfo.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/vulkaninfo/vulkaninfo.c b/vulkaninfo/vulkaninfo.c index fb14ca40..ca1b8ec2 100644 --- a/vulkaninfo/vulkaninfo.c +++ b/vulkaninfo/vulkaninfo.c @@ -1114,7 +1114,9 @@ static void AppGpuInit(struct AppGpu *gpu, struct AppInstance *inst, uint32_t id {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, .mem_size = sizeof(VkPhysicalDeviceImagelessFramebufferFeaturesKHR)}, {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT, - .mem_size = sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT)}}; + .mem_size = sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT)}, + {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, + .mem_size = sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT)}}; uint32_t chain_info_len = ARRAY_SIZE(chain_info); @@ -3481,6 +3483,24 @@ static void AppGpuDumpFeatures(const struct AppGpu *gpu, FILE *out) { printf("================================================\n"); printf("\ttexelBufferAlignment = %" PRIuLEAST32 "\n", texel_buffer_alignment->texelBufferAlignment); } + } else if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT && + CheckPhysicalDeviceExtensionIncluded(VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, + gpu->device_extensions, gpu->device_extension_count)) { + VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *shader_helper = + (VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *)structure; + if (html_output) { + fprintf(out, + "\t\t\t\t\t<details><summary>VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</summary>\n"); + fprintf(out, + "\t\t\t\t\t\t<details><summary>shaderDemoteToHelperInvocation = <span " + "class='val'>%" PRIuLEAST32 "</span></summary></details>\n", + shader_helper->shaderDemoteToHelperInvocation); + fprintf(out, "\t\t\t\t\t</details>\n"); + } else if (human_readable_output) { + printf("\nVkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:\n"); + printf("===================================================\n"); + printf("\tshaderDemoteToHelperInvocation = %" PRIuLEAST32 "\n", shader_helper->shaderDemoteToHelperInvocation); + } } place = structure->pNext; } |