From e42b2a5d70e05f9887570e6325de93fb7dd397db Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Tue, 18 Nov 2025 06:43:04 -0500 Subject: [PATCH] anv: Don't partial resolve LOD1+ for non-FCV CCS We don't allow fast-clears in this case. Reviewed-by: Jianxun Zhang Part-of: --- src/intel/vulkan/genX_cmd_buffer.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 531a29666e5..dea7cd6abfc 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -1345,6 +1345,14 @@ transition_color_buffer(struct anv_cmd_buffer *cmd_buffer, for (uint32_t l = 0; l < level_count; l++) { uint32_t level = base_level + l; + /* We only support fast-clear on the first level. So, partial + * resolves should not be used on other subresources unless the image + * is using FCV_CCS_E. + */ + if (level > 0 && resolve_op == ISL_AUX_OP_PARTIAL_RESOLVE && + image->planes[plane].aux_usage != ISL_AUX_USAGE_FCV_CCS_E) + break; + uint32_t aux_layers = anv_image_aux_layers(image, aspect, level); if (base_layer >= aux_layers) break; /* We will only get fewer layers as level increases */