aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Giessen <charles@lunarg.com>2019-08-07 17:19:00 -0600
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>2019-08-08 17:17:14 -0600
commit6197277649d499c290394e26fbf22d734f164472 (patch)
tree545fe874a4b45231e89cde56d64cb0037071c019
parentb57642408b5cfbe8268277ce1c18a20f2fc6f4af (diff)
downloadvulkan-tools-6197277649d499c290394e26fbf22d734f164472.tar.gz
vulkaninfo: Support for ShaderDemoteToHelperInvocationExt
Change-Id: I5188ffd477d16a3af8d48c69dc411feee76b1f7f
-rw-r--r--vulkaninfo/vulkaninfo.c22
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;
}