mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-23 17:18:11 +02:00
kk: Support attachment feedback loop extensions
Metal GPU image optimization is disabled for attachment feedback usage since it causes some CTS flakes. Reviewed-by: Aitor Camacho <aitor@lunarg.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41613>
This commit is contained in:
parent
2a119991f6
commit
f52f7bf8d5
3 changed files with 20 additions and 2 deletions
|
|
@ -604,8 +604,8 @@ Khronos extensions that are not part of any Vulkan version:
|
|||
VK_EXT_acquire_drm_display DONE (anv, hk, nvk, panvk, radv, tu, v3dv, vn)
|
||||
VK_EXT_acquire_xlib_display DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
||||
VK_EXT_astc_decode_mode DONE (panvk)
|
||||
VK_EXT_attachment_feedback_loop_dynamic_state DONE (anv, lvp, panvk, radv, tu, vn)
|
||||
VK_EXT_attachment_feedback_loop_layout DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
||||
VK_EXT_attachment_feedback_loop_dynamic_state DONE (anv, kk, lvp, panvk, radv, tu, vn)
|
||||
VK_EXT_attachment_feedback_loop_layout DONE (anv, hk, kk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
||||
VK_EXT_blend_operation_advanced DONE (hk, lvp, vn)
|
||||
VK_EXT_border_color_swizzle DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv/gfx10+, tu, v3dv, vn)
|
||||
VK_EXT_buffer_device_address DONE (anv, dzn/sm6.6+, hasvk, hk, kk, nvk, panvk, radv, vn)
|
||||
|
|
|
|||
|
|
@ -92,6 +92,16 @@ kk_image_layout_can_optimize(VkImageUsageFlags usage, VkImageTiling tiling,
|
|||
!util_format_is_compressed(format))
|
||||
return false;
|
||||
|
||||
/* Attachment feedback usage may produce incorrect results with
|
||||
* optimization, causing flakes in CTS
|
||||
*
|
||||
* E.g. `dEQP-VK.pipeline.monolithic.attachment_feedback_loop_layout.sampler.
|
||||
* attachment_feedback_loop_optimal.sampled_image.image_type.2d_unnormalized.
|
||||
* format.d16_unorm_depth_read_write_different_areas_dynamic_bad_static`
|
||||
*/
|
||||
if (usage & VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -152,6 +152,8 @@ kk_get_device_extensions(const struct kk_instance *instance,
|
|||
#endif
|
||||
.KHR_workgroup_memory_explicit_layout = true,
|
||||
|
||||
.EXT_attachment_feedback_loop_layout = true,
|
||||
.EXT_attachment_feedback_loop_dynamic_state = true,
|
||||
.EXT_calibrated_timestamps = true,
|
||||
.EXT_depth_clip_control = true,
|
||||
.EXT_extended_dynamic_state3 = true,
|
||||
|
|
@ -359,6 +361,12 @@ kk_get_device_features(
|
|||
.formatA4R4G4B4 = true,
|
||||
.formatA4B4G4R4 = true,
|
||||
|
||||
/* VK_EXT_attachment_feedback_loop_layout */
|
||||
.attachmentFeedbackLoopLayout = true,
|
||||
|
||||
/* VK_EXT_attachment_feedback_loop_dynamic_state */
|
||||
.attachmentFeedbackLoopDynamicState = true,
|
||||
|
||||
/* VK_EXT_depth_clip_control */
|
||||
.depthClipControl = true,
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue