Mesa (main): v3dv: support VK_KHR_16_bit_storage
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jan 25 09:38:46 UTC 2022
Module: Mesa
Branch: main
Commit: 4f26f50ae44cb69f8b65070e15aed4f83049aaa4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f26f50ae44cb69f8b65070e15aed4f83049aaa4
Author: Iago Toral Quiroga <itoral at igalia.com>
Date: Tue Jan 18 11:17:29 2022 +0100
v3dv: support VK_KHR_16_bit_storage
Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14648>
---
docs/features.txt | 2 +-
src/broadcom/vulkan/v3dv_device.c | 5 +++--
src/broadcom/vulkan/v3dv_pipeline.c | 1 +
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/docs/features.txt b/docs/features.txt
index c5987895f16..b0104467874 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -419,7 +419,7 @@ Vulkan 1.0 -- all DONE: anv, lvp, radv, tu, v3dv, vn
Vulkan 1.1 -- all DONE: anv, lvp, radv, tu, vn
- VK_KHR_16bit_storage DONE (anv/gen8+, lvp, radv, tu/a650, vn)
+ VK_KHR_16bit_storage DONE (anv/gen8+, lvp, radv, tu/a650, v3dv, vn)
VK_KHR_bind_memory2 DONE (anv, lvp, radv, tu, v3dv, vn)
VK_KHR_dedicated_allocation DONE (anv, lvp, radv, tu, v3dv, vn)
VK_KHR_descriptor_update_template DONE (anv, lvp, radv, tu, v3dv, vn)
diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c
index 3b6a7aadcaf..d71d354ae52 100644
--- a/src/broadcom/vulkan/v3dv_device.c
+++ b/src/broadcom/vulkan/v3dv_device.c
@@ -116,6 +116,7 @@ get_device_extensions(const struct v3dv_physical_device *device,
struct vk_device_extension_table *ext)
{
*ext = (struct vk_device_extension_table) {
+ .KHR_16bit_storage = true,
.KHR_bind_memory2 = true,
.KHR_copy_commands2 = true,
.KHR_create_renderpass2 = true,
@@ -1082,8 +1083,8 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
v3dv_GetPhysicalDeviceFeatures(physicalDevice, &pFeatures->features);
VkPhysicalDeviceVulkan11Features vk11 = {
- .storageBuffer16BitAccess = false,
- .uniformAndStorageBuffer16BitAccess = false,
+ .storageBuffer16BitAccess = true,
+ .uniformAndStorageBuffer16BitAccess = true,
.storagePushConstant16 = false,
.storageInputOutput16 = false,
.multiview = true,
diff --git a/src/broadcom/vulkan/v3dv_pipeline.c b/src/broadcom/vulkan/v3dv_pipeline.c
index 10694cc180d..f39d0464328 100644
--- a/src/broadcom/vulkan/v3dv_pipeline.c
+++ b/src/broadcom/vulkan/v3dv_pipeline.c
@@ -180,6 +180,7 @@ static const struct spirv_to_nir_options default_spirv_options = {
.caps = {
.device_group = true,
.multiview = true,
+ .storage_16bit = true,
.subgroup_basic = true,
.variable_pointers = true,
},
More information about the mesa-commit
mailing list