Re: [Mesa-dev] [PATCH v4 25/44] anv: Enable VK_KHR_16bit_storage for SSBO and UBO

2017-11-30 Thread Jason Ekstrand
I'd roll 24 in with 25 personally.  Either way, 24 and 25 are

Reviewed-by: Jason Ekstrand 

I'm going to try and get enough reviewed today that we can land this part.

On Wed, Nov 29, 2017 at 6:57 PM, Jose Maria Casanova Crespo <
jmcasan...@igalia.com> wrote:

> From: Alejandro Piñeiro 
>
> It uses VK_KHR_get_physical_device_properties2 functionality to expose
> if the extension is supported or not.
>
> v2: update due rebase against master (Alejandro)
>
> v3: (Jason Ekstrand)
> - Move this patch up in VK_KHR_16bit_storage series enabling only
>   storageBuffer16BitAccess and uniformAndStorageBuffer16BitAccess.
> - Only expose VK_KHR_16bit_storage on Gen8+
>
> Signed-off-by: Jose Maria Casanova Crespo 
> Signed-off-by: Alejandro Piñeiro 
> ---
>  src/intel/vulkan/anv_device.c  | 13 +
>  src/intel/vulkan/anv_extensions.py |  1 +
>  2 files changed, 14 insertions(+)
>
> diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
> index b5577ee61d..69a1f5a5f6 100644
> --- a/src/intel/vulkan/anv_device.c
> +++ b/src/intel/vulkan/anv_device.c
> @@ -725,6 +725,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 = false;
> + features->storageInputOutput16 = false;
> + break;
> +  }
> +
>default:
>   anv_debug_ignored_stype(ext->sType);
>   break;
> diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_
> extensions.py
> index b1e984b8cd..c49718dfd4 100644
> --- a/src/intel/vulkan/anv_extensions.py
> +++ b/src/intel/vulkan/anv_extensions.py
> @@ -51,6 +51,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,
> '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.14.3
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH v4 25/44] anv: Enable VK_KHR_16bit_storage for SSBO and UBO

2017-11-29 Thread Jose Maria Casanova Crespo
From: Alejandro Piñeiro 

It uses VK_KHR_get_physical_device_properties2 functionality to expose
if the extension is supported or not.

v2: update due rebase against master (Alejandro)

v3: (Jason Ekstrand)
- Move this patch up in VK_KHR_16bit_storage series enabling only
  storageBuffer16BitAccess and uniformAndStorageBuffer16BitAccess.
- Only expose VK_KHR_16bit_storage on Gen8+

Signed-off-by: Jose Maria Casanova Crespo 
Signed-off-by: Alejandro Piñeiro 
---
 src/intel/vulkan/anv_device.c  | 13 +
 src/intel/vulkan/anv_extensions.py |  1 +
 2 files changed, 14 insertions(+)

diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index b5577ee61d..69a1f5a5f6 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -725,6 +725,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 = false;
+ features->storageInputOutput16 = false;
+ break;
+  }
+
   default:
  anv_debug_ignored_stype(ext->sType);
  break;
diff --git a/src/intel/vulkan/anv_extensions.py 
b/src/intel/vulkan/anv_extensions.py
index b1e984b8cd..c49718dfd4 100644
--- a/src/intel/vulkan/anv_extensions.py
+++ b/src/intel/vulkan/anv_extensions.py
@@ -51,6 +51,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, '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.14.3

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev