From 994d21042996232998a51bfabaab6f4970f0ea5a Mon Sep 17 00:00:00 2001 From: Jose Maria Casanova Crespo Date: Mon, 20 Nov 2017 23:28:45 +0100 Subject: [PATCH] anv: Enable VK_KHR_16bit_storage for SSBO and UBO Enables storageBuffer16BitAccess and uniformAndStorageBuffer16BitAccesss features of VK_KHR_16bit_storage for Gen8+. Reviewed-by: Jason Ekstrand --- src/intel/vulkan/anv_device.c | 5 +++-- src/intel/vulkan/anv_extensions.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 41f9e00c4e7..e42b05d4fa7 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -793,9 +793,10 @@ void anv_GetPhysicalDeviceFeatures2KHR( case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR: { VkPhysicalDevice16BitStorageFeaturesKHR *features = (VkPhysicalDevice16BitStorageFeaturesKHR *)ext; + ANV_FROM_HANDLE(anv_physical_device, pdevice, physicalDevice); - features->storageBuffer16BitAccess = false; - features->uniformAndStorageBuffer16BitAccess = false; + features->storageBuffer16BitAccess = pdevice->info.gen >= 8; + features->uniformAndStorageBuffer16BitAccess = pdevice->info.gen >= 8; features->storagePushConstant16 = false; features->storageInputOutput16 = false; break; diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_extensions.py index 6194eb0ad62..8d39038c43a 100644 --- a/src/intel/vulkan/anv_extensions.py +++ b/src/intel/vulkan/anv_extensions.py @@ -49,7 +49,7 @@ class Extension: # and dEQP-VK.api.info.device fail due to the duplicated strings. EXTENSIONS = [ Extension('VK_ANDROID_native_buffer', 5, 'ANDROID'), - Extension('VK_KHR_16bit_storage', 1, False), + Extension('VK_KHR_16bit_storage', 1, 'device->info.gen >= 8'), Extension('VK_KHR_bind_memory2', 1, True), Extension('VK_KHR_dedicated_allocation', 1, True), Extension('VK_KHR_descriptor_update_template', 1, True), -- 2.30.2