mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-11 15:40:31 +01:00
panvk: Support VK_EXT_zero_initialize_device_memory
Advertise the extension and enable the zeroInitializeDeviceMemory feature. The panfrost and panthor kernel drivers uses drm_gem_shmem which gets zeroed pages from the shmem subsystem, so memory is already zero-initialized by default. VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT is treated the same as VK_IMAGE_LAYOUT_UNDEFINED. Since panvk doesn't use image layouts (layout transitions are no-ops), no special barrier handling is needed for either layout. Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com> Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39658>
This commit is contained in:
parent
3f1bdfa8b4
commit
9e3967ea9b
3 changed files with 7 additions and 1 deletions
|
|
@ -684,7 +684,7 @@ Khronos extensions that are not part of any Vulkan version:
|
|||
VK_EXT_vertex_attribute_divisor DONE (anv, dzn, hasvk, hk, kk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_EXT_vertex_input_dynamic_state DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn)
|
||||
VK_EXT_ycbcr_image_arrays DONE (anv, hasvk, hk, lvp, nvk, panvk/v10+, radv, vn)
|
||||
VK_EXT_zero_initialize_device_memory DONE (lvp, nvk, pvr, radv, tu)
|
||||
VK_EXT_zero_initialize_device_memory DONE (lvp, nvk, panvk, pvr, radv, tu)
|
||||
VK_ANDROID_external_memory_android_hardware_buffer DONE (anv, lvp, panvk, radv, tu, v3dv, vn)
|
||||
VK_ANDROID_native_buffer DONE (anv, lvp, panvk, radv, tu, v3dv, vn)
|
||||
VK_GOOGLE_decorate_string DONE (anv, hasvk, hk, kk, lvp, nvk, panvk, radv, tu, vn)
|
||||
|
|
|
|||
|
|
@ -10,3 +10,4 @@ VK_EXT_acquire_drm_display on panvk
|
|||
VK_KHR_present_id on panvk
|
||||
VK_KHR_present_wait on panvk
|
||||
VK_KHR_pipeline_executable_properties on pvr
|
||||
VK_EXT_zero_initialize_device_memory on panvk
|
||||
|
|
|
|||
|
|
@ -191,6 +191,7 @@ panvk_per_arch(get_physical_device_extensions)(
|
|||
.EXT_vertex_input_dynamic_state = true,
|
||||
.EXT_ycbcr_2plane_444_formats = PAN_ARCH >= 10,
|
||||
.EXT_ycbcr_image_arrays = PAN_ARCH >= 10,
|
||||
.EXT_zero_initialize_device_memory = true,
|
||||
.EXT_inline_uniform_block = true,
|
||||
.ANDROID_external_memory_android_hardware_buffer = has_gralloc,
|
||||
.ANDROID_native_buffer = has_gralloc,
|
||||
|
|
@ -540,6 +541,9 @@ panvk_per_arch(get_physical_device_features)(
|
|||
/* Video is not currently supported, so set to false */
|
||||
.unifiedImageLayoutsVideo = false,
|
||||
|
||||
/* VK_EXT_zero_initialize_device_memory */
|
||||
.zeroInitializeDeviceMemory = true,
|
||||
|
||||
/* VK_EXT_mutable_descriptor_type */
|
||||
.mutableDescriptorType = PAN_ARCH >= 9,
|
||||
|
||||
|
|
@ -1147,6 +1151,7 @@ panvk_per_arch(get_physical_device_properties)(
|
|||
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
|
||||
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
|
||||
VK_IMAGE_LAYOUT_PREINITIALIZED,
|
||||
VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT,
|
||||
|
||||
/* Only if vk1.1+ is supported */
|
||||
#if PAN_ARCH >= 10
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue