From 5f8320bd0485b6e43387b3a7ef99e624cebc84e9 Mon Sep 17 00:00:00 2001 From: Matt Coster Date: Tue, 2 May 2023 14:21:39 +0100 Subject: [PATCH] pvr: Actually check for depth load when setting up load op constants Fixes: Assorted tests in dEQP-VK.draw.renderpass.* Signed-off-by: Matt Coster Reported-by: James Glanville Reviewed-by: Karmjit Mahil Part-of: --- src/imagination/vulkan/pvr_cmd_buffer.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/imagination/vulkan/pvr_cmd_buffer.c b/src/imagination/vulkan/pvr_cmd_buffer.c index d8d085b5fce..d076edcb27d 100644 --- a/src/imagination/vulkan/pvr_cmd_buffer.c +++ b/src/imagination/vulkan/pvr_cmd_buffer.c @@ -728,7 +728,17 @@ pvr_load_op_constants_create_and_upload(struct pvr_cmd_buffer *cmd_buffer, } } - has_depth_load = load_op->clears_loads_state.rt_load_mask != 0; + has_depth_load = false; + for (uint32_t i = 0; + i < ARRAY_SIZE(load_op->clears_loads_state.dest_vk_format); + i++) { + if (load_op->clears_loads_state.dest_vk_format[i] == + VK_FORMAT_D32_SFLOAT) { + has_depth_load = true; + break; + } + } + has_depth_clear = load_op->clears_loads_state.depth_clear_to_reg != -1; assert(!(has_depth_clear && has_depth_load));