summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIago Toral Quiroga <itoral@igalia.com>2022-01-18 11:17:29 +0100
committerMarge Bot <emma+marge@anholt.net>2022-01-25 09:08:26 +0000
commit4f26f50ae44cb69f8b65070e15aed4f83049aaa4 (patch)
treeb3a8a62cfe6e5befc216ffaae5623e2d073ce49c
parent49a8fa152c9b4290717974db39a72a9fca0ebcba (diff)
v3dv: support VK_KHR_16_bit_storage
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14648>
-rw-r--r--docs/features.txt2
-rw-r--r--src/broadcom/vulkan/v3dv_device.c5
-rw-r--r--src/broadcom/vulkan/v3dv_pipeline.c1
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,
},