diff options
author | Jason Ekstrand <[email protected]> | 2018-01-19 12:07:12 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-02-08 16:35:31 -0800 |
commit | 1810f965c8e490eac164732883d5242748b5911f (patch) | |
tree | cdaceb10132d5b84f515cc408dd51befd2f29c45 /src/intel/vulkan/genX_cmd_buffer.c | |
parent | de3be6180169f95b781308398b31fbdd3db319e1 (diff) |
anv: Allow fast-clearing the first slice of a multi-slice image
Now that we're tracking aux properly per-slice, we can enable this for
applications which actually care.
Reviewed-by: Topi Pohjolainen <[email protected]>
Reviewed-by: Nanley Chery <[email protected]>
Diffstat (limited to 'src/intel/vulkan/genX_cmd_buffer.c')
-rw-r--r-- | src/intel/vulkan/genX_cmd_buffer.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 89654c221e0..f42860b411a 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -329,12 +329,16 @@ color_attachment_compute_aux_usage(struct anv_device * device, */ if (att_state->fast_clear && (iview->planes[0].isl.base_level > 0 || - iview->image->extent.depth > 0 || - iview->image->array_size > 0)) { + iview->planes[0].isl.base_array_layer > 0)) { anv_perf_warn(device->instance, iview->image, - "Rendering to a multi-LOD or multi-layer framebuffer " - "with LOAD_OP_CLEAR. Not fast-clearing"); + "Rendering with multi-lod or multi-layer framebuffer " + "with LOAD_OP_LOAD and baseMipLevel > 0 or " + "baseArrayLayer > 0. Not fast clearing."); att_state->fast_clear = false; + } else if (att_state->fast_clear && cmd_state->framebuffer->layers > 1) { + anv_perf_warn(device->instance, iview->image, + "Rendering to a multi-layer framebuffer with " + "LOAD_OP_CLEAR. Only fast-clearing the first slice"); } if (att_state->fast_clear) { |