We are currently experiencing downtime impacting viewing & cloning the Mesa repo, and some GitLab pages returning 503. Please see #freedesktop on IRC for more updates.

Commit 66ce6ce7 authored by Alejandro Piñeiro's avatar Alejandro Piñeiro Committed by José Casanova Crespo

anv: Enable SPV_KHR_16bit_storage and VK_KHR_16bit_storage for SSBO/UBO

Enables SPV_KHR_16bit_storage on gen 8+.

VK_KHR_16bit_storage is enabled for SSBO/UBO using the
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+
v4: (Jason Ekstrand)
    - Squash enable SPV_KHR_16bit_storage into VK_KHR_16bit_storage
      enablement for SSBO/UBO.
Signed-off-by: José Casanova Crespo's avatarJose Maria Casanova Crespo <jmcasanova@igalia.com>
Signed-off-by: Alejandro Piñeiro's avatarAlejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Eduardo Lima Mitev's avatarEduardo Lima Mitev <elima@igalia.com>
Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
parent 3282309f
......@@ -739,6 +739,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;
......
......@@ -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),
......
......@@ -142,6 +142,7 @@ anv_shader_compile_to_nir(struct anv_pipeline *pipeline,
.image_write_without_format = true,
.multiview = true,
.variable_pointers = true,
.storage_16bit = device->instance->physicalDevice.info.gen >= 8,
},
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment