From 191fab68b0553ce8c84ccbab2529704063337ac2 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Sat, 20 Jun 2020 10:40:34 -0500 Subject: [PATCH] anv/formats: Advertise ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT v2: Only expose the bit when ray tracing is supported. Reviewed-by: Lionel Landwerlin Acked-by: Caio Oliveira Part-of: --- src/intel/vulkan/anv_formats.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c index a05a4d3eca9..ba7ef9c785c 100644 --- a/src/intel/vulkan/anv_formats.c +++ b/src/intel/vulkan/anv_formats.c @@ -840,6 +840,21 @@ get_buffer_format_features2(const struct intel_device_info *devinfo, if (isl_format == ISL_FORMAT_R32_SINT || isl_format == ISL_FORMAT_R32_UINT) flags |= VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT; + if (devinfo->has_ray_tracing) { + switch (vk_format) { + case VK_FORMAT_R32G32_SFLOAT: + case VK_FORMAT_R32G32B32_SFLOAT: + case VK_FORMAT_R16G16_SFLOAT: + case VK_FORMAT_R16G16B16A16_SFLOAT: + case VK_FORMAT_R16G16_SNORM: + case VK_FORMAT_R16G16B16A16_SNORM: + flags |= VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR; + break; + default: + break; + } + } + return flags; }