From ab378b9ce543f7ed524846ab5c2d2067ea0ffaa1 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Mon, 12 Sep 2022 12:58:20 +0200 Subject: [PATCH] v3dv: expose VK_EXT_load_store_op_none MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This extension adds new NONE attachment load / store operations, which are identical to the DONT_CARE variants with the difference that DONT_CARE doesn't ensure that the original contents of the memory within the render area are preserved and these new versions do (with some caveats). Our implementation was not destroying data with DONT_CARE anyway so we already support the new semantics. Our implementation is such that we don't need to do anything specific with the new operations and the current behavior will do what is expected. We pass all the tests under: dEQP-VK.renderpass*.load_store_op_none.* Reviewed-by: Alejandro PiƱeiro Part-of: --- docs/features.txt | 2 +- src/broadcom/vulkan/v3dv_device.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index d51d0dd7d0b..ef63021b631 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -561,7 +561,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_image_view_min_lod DONE (anv, radv, tu, vn) VK_EXT_index_type_uint8 DONE (anv, lvp, panvk, radv/gfx8+, v3dv, tu, vn) VK_EXT_line_rasterization DONE (anv, lvp, radv, tu, v3dv, vn) - VK_EXT_load_store_op_none DONE (radv, tu) + VK_EXT_load_store_op_none DONE (radv, tu, v3dv) VK_EXT_memory_budget DONE (anv, radv, tu, v3dv) VK_EXT_memory_priority DONE (radv) VK_EXT_multi_draw DONE (anv, lvp, radv, tu) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index cfa75ee4659..62eab903b88 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -171,6 +171,7 @@ get_device_extensions(const struct v3dv_physical_device *device, .EXT_color_write_enable = true, .EXT_custom_border_color = true, .EXT_depth_clip_control = true, + .EXT_load_store_op_none = true, .EXT_inline_uniform_block = true, .EXT_external_memory_dma_buf = true, .EXT_host_query_reset = true,