diff --git a/src/intel/blorp/blorp_clear.c b/src/intel/blorp/blorp_clear.c index b40a501e07d..6a2477ebde0 100644 --- a/src/intel/blorp/blorp_clear.c +++ b/src/intel/blorp/blorp_clear.c @@ -608,6 +608,7 @@ blorp_clear(struct blorp_batch *batch, if (!compute && !blorp_ensure_sf_program(batch, ¶ms)) return; + assert(num_layers > 0); while (num_layers > 0) { blorp_surface_info_init(batch, ¶ms.dst, surf, level, start_layer, format, true); @@ -834,6 +835,7 @@ blorp_clear_depth_stencil(struct blorp_batch *batch, uint8_t stencil_mask, uint8_t stencil_value) { assert((batch->flags & BLORP_BATCH_USE_COMPUTE) == 0); + assert(num_layers > 0); if (!clear_depth && blorp_clear_stencil_as_rgba(batch, stencil, level, start_layer, num_layers, diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c index d7f3d7578dd..f71ca65bb77 100644 --- a/src/intel/vulkan/anv_blorp.c +++ b/src/intel/vulkan/anv_blorp.c @@ -2310,6 +2310,7 @@ anv_image_clear_depth_stencil(struct anv_cmd_buffer *cmd_buffer, { assert(image->vk.aspects & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)); + assert(layer_count > 0); struct blorp_batch batch; anv_blorp_batch_init(cmd_buffer, &batch, 0); diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 16ccc1823da..be4595431c8 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -5309,7 +5309,7 @@ void genX(CmdBeginRendering)( iview->vk.base_array_layer + view, 1, render_area, clear_color); } - } else { + } else if (clear_rect.layerCount > 0) { anv_image_clear_color(cmd_buffer, iview->image, VK_IMAGE_ASPECT_COLOR_BIT, aux_usage, diff --git a/src/intel/vulkan_hasvk/genX_cmd_buffer.c b/src/intel/vulkan_hasvk/genX_cmd_buffer.c index 16463f9ed2e..a6706e8ca3a 100644 --- a/src/intel/vulkan_hasvk/genX_cmd_buffer.c +++ b/src/intel/vulkan_hasvk/genX_cmd_buffer.c @@ -5227,7 +5227,7 @@ void genX(CmdBeginRendering)( iview->vk.base_array_layer + view, 1, render_area, clear_color); } - } else { + } else if (clear_layer_count > 0) { anv_image_clear_color(cmd_buffer, iview->image, VK_IMAGE_ASPECT_COLOR_BIT, aux_usage,