It uses VK_KHR_get_physical_device_properties2 functionality to expose if the extension is supported or not.
Signed-off-by: Jose Maria Casanova Crespo <[email protected]> Signed-off-by: Alejandro Piñeiro <[email protected] --- src/intel/vulkan/anv_device.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 9f541a9..4038eca 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -449,6 +449,10 @@ static const VkExtensionProperties global_extensions[] = { static const VkExtensionProperties device_extensions[] = { { + .extensionName = VK_KHR_16BIT_STORAGE_EXTENSION_NAME, + .specVersion = 1, + }, + { .extensionName = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME, .specVersion = 1, }, @@ -748,6 +752,19 @@ void anv_GetPhysicalDeviceFeatures2KHR( break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR: { + ANV_FROM_HANDLE(anv_physical_device, pdevice, physicalDevice); + + VkPhysicalDevice16BitStorageFeaturesKHR *features = + (VkPhysicalDevice16BitStorageFeaturesKHR *)ext; + + features->storageBuffer16BitAccess = pdevice->info.gen >= 8; + features->uniformAndStorageBuffer16BitAccess = pdevice->info.gen >= 8; + features->storagePushConstant16 = pdevice->info.gen >= 8; + features->storageInputOutput16 = pdevice->info.gen >= 8; + break; + } + default: anv_debug_ignored_stype(ext->sType); break; -- 2.9.3 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
