diff --git a/docs/features.txt b/docs/features.txt index e6959cb4846..51d905144fc 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -450,7 +450,7 @@ Vulkan 1.1 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv, tu, vn VK_KHR_get_memory_requirements2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_KHR_get_physical_device_properties2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_KHR_maintenance1 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) - VK_KHR_maintenance2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn) + VK_KHR_maintenance2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_KHR_maintenance3 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn) VK_KHR_multiview DONE (anv, dzn, hasvk, lvp, nvk, panvk/v10+, radv, tu, v3dv, vn) VK_KHR_relaxed_block_layout DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn) diff --git a/src/imagination/vulkan/pvr_device.c b/src/imagination/vulkan/pvr_device.c index f23695ac519..f008d31815d 100644 --- a/src/imagination/vulkan/pvr_device.c +++ b/src/imagination/vulkan/pvr_device.c @@ -183,6 +183,7 @@ static void pvr_physical_device_get_supported_extensions( .KHR_image_format_list = true, .KHR_index_type_uint8 = false, .KHR_maintenance1 = true, + .KHR_maintenance2 = true, .KHR_present_id2 = PVR_USE_WSI_PLATFORM, .KHR_present_wait2 = PVR_USE_WSI_PLATFORM, .KHR_shader_expect_assume = false, @@ -530,6 +531,10 @@ static bool pvr_physical_device_get_properties( .optimalBufferCopyRowPitchAlignment = PVR_STORAGE_BUFFER_OFFSET_ALIGNMENT, .nonCoherentAtomSize = 1U, + /* Vulkan 1.0 / VK_KHR_maintenance2 */ + .pointClippingBehavior = + VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, + /* Vulkan 1.2 / VK_KHR_driver_properties */ .driverID = VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA, .driverName = "Imagination open-source Mesa driver", diff --git a/src/imagination/vulkan/pvr_formats.c b/src/imagination/vulkan/pvr_formats.c index 000c8eca126..91919c3f1bb 100644 --- a/src/imagination/vulkan/pvr_formats.c +++ b/src/imagination/vulkan/pvr_formats.c @@ -858,6 +858,11 @@ pvr_get_image_format_properties(struct pvr_physical_device *pdevice, goto err_unsupported_format; } + if (info->flags & VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT) { + result = vk_error(pdevice, VK_ERROR_FORMAT_NOT_SUPPORTED); + goto err_unsupported_format; + } + tiling_features2 = pvr_get_image_format_features2(pvr_format, info->tiling); if (tiling_features2 == 0) { result = vk_error(pdevice, VK_ERROR_FORMAT_NOT_SUPPORTED);