[Mesa-dev] [PATCH 25/25] anv/blorp: Handle VK_ATTACHMENT_UNUSED in CmdClearAttachments

Nanley Chery nanleychery at gmail.com
Fri Nov 11 00:19:56 UTC 2016


On Sat, Oct 22, 2016 at 10:50:56AM -0700, Jason Ekstrand wrote:
> From the Vulkan 1.0.29 spec for vkCmdClearAttachments:
> 
>    "If the subpass’s depth/stencil attachment is VK_ATTACHMENT_UNUSED,
>    then the clear has no effect."
> 
> and
> 
>    "If colorAttachment is VK_ATTACHMENT_UNUSED then the clear has no
>    effect."
> 
> I have no idea why it's spec'd this way; it seems very anti-Vulkan to me,
> but that's what it says and it's really not much work to support.
> ---
>  src/intel/vulkan/anv_blorp.c | 8 ++++++++
>  1 file changed, 8 insertions(+)

This patch is
Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>

> 
> diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c
> index b62ea0b..9ea6e3f 100644
> --- a/src/intel/vulkan/anv_blorp.c
> +++ b/src/intel/vulkan/anv_blorp.c
> @@ -917,6 +917,10 @@ clear_color_attachment(struct anv_cmd_buffer *cmd_buffer,
>     const struct anv_subpass *subpass = cmd_buffer->state.subpass;
>     const uint32_t color_att = attachment->colorAttachment;
>     const uint32_t att_idx = subpass->color_attachments[color_att];
> +
> +   if (att_idx == VK_ATTACHMENT_UNUSED)
> +      return;
> +
>     struct anv_render_pass_attachment *pass_att =
>        &cmd_buffer->state.pass->attachments[att_idx];
>     struct anv_attachment_state *att_state =
> @@ -951,6 +955,10 @@ clear_depth_stencil_attachment(struct anv_cmd_buffer *cmd_buffer,
>     static const union isl_color_value color_value = { .u32 = { 0, } };
>     const struct anv_subpass *subpass = cmd_buffer->state.subpass;
>     const uint32_t att_idx = subpass->depth_stencil_attachment;
> +
> +   if (att_idx == VK_ATTACHMENT_UNUSED)
> +      return;
> +
>     struct anv_render_pass_attachment *pass_att =
>        &cmd_buffer->state.pass->attachments[att_idx];
>  
> -- 
> 2.5.0.400.gff86faf
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list