[Mesa-dev] [PATCH v3 43/43] anv: Enable VK_KHR_16bit_storage

Jason Ekstrand jason at jlekstrand.net
Wed Nov 1 21:32:31 UTC 2017


On Thu, Oct 12, 2017 at 11:38 AM, Jose Maria Casanova Crespo <
jmcasanova at igalia.com> wrote:

> From: Alejandro Piñeiro <apinheiro at igalia.com>
>
> 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)
>
> Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
> Signed-off-by: Alejandro Piñeiro <apinheiro at igalia.com
> ---
>  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 70db6f88be..44be45d37c 100644
> --- a/src/intel/vulkan/anv_device.c
> +++ b/src/intel/vulkan/anv_device.c
> @@ -710,6 +710,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;
>

Would you mind breaking this patch up and moving it up in the series a
bit?  In particular, can we enable SSBO and UBO 16-bit storage early and
enable push constants and inputs/outputs later on.  From my reading of
things, I think UBO and SSBO 16-bit storage is pretty close to ready but
the others may take more review (I haven't read the input/output bits much
yet).


> +         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 a828a668d6..714c034839 100644
> --- a/src/intel/vulkan/anv_extensions.py
> +++ b/src/intel/vulkan/anv_extensions.py
> @@ -50,6 +50,7 @@ class Extension:
>  # the those extension strings, then tests dEQP-VK.api.info.instance.
> extensions
>  # and dEQP-VK.api.info.device fail due to the duplicated strings.
>  EXTENSIONS = [
> +    Extension('VK_KHR_16bit_storage',                     1, True),
>

We probably want to make this "device->info.gen >= 8" instead of "True"


>      Extension('VK_KHR_bind_memory2',                      1, True),
>      Extension('VK_KHR_dedicated_allocation',              1, True),
>      Extension('VK_KHR_descriptor_update_template',        1, True),
> --
> 2.13.6
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171101/b2c290bf/attachment-0001.html>


More information about the mesa-dev mailing list