[Mesa-dev] [PATCH v2 08/24] anv/cmd_buffer: Recurse in transition_color_buffer instead of falling through

Jason Ekstrand jason at jlekstrand.net
Mon Jan 22 07:35:17 UTC 2018


On Sun, Jan 21, 2018 at 11:28 PM, Pohjolainen, Topi <
topi.pohjolainen at gmail.com> wrote:

> On Fri, Jan 19, 2018 at 03:47:25PM -0800, Jason Ekstrand wrote:
> > Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> > ---
> >  src/intel/vulkan/genX_cmd_buffer.c | 17 ++++++++---------
> >  1 file changed, 8 insertions(+), 9 deletions(-)
> >
> > diff --git a/src/intel/vulkan/genX_cmd_buffer.c
> b/src/intel/vulkan/genX_cmd_buffer.c
> > index be263f8..6a6d8b2 100644
> > --- a/src/intel/vulkan/genX_cmd_buffer.c
> > +++ b/src/intel/vulkan/genX_cmd_buffer.c
> > @@ -719,20 +719,19 @@ transition_color_buffer(struct anv_cmd_buffer
> *cmd_buffer,
> >        if (image->samples == 1 &&
> >            image->planes[plane].aux_usage != ISL_AUX_USAGE_CCS_E &&
> >            final_layout != VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL) {
> > -         /* The CCS_D buffer may not be enabled in the final layout.
> Continue
> > -          * executing this function to perform a resolve.
> > +         /* The CCS_D buffer may not be enabled in the final layout.
> Call this
> > +          * function again with a initial layout of
> COLOR_ATTACHMENT_OPTIMAL
> > +          * to perform a resolve.
> >            */
> >            anv_perf_warn(cmd_buffer->device->instance, image,
> >                          "Performing an additional resolve for CCS_D
> layout "
> >                          "transition. Consider always leaving it on or "
> >                          "performing an ambiguation pass.");
> > -      } else {
> > -         /* Writes in the final layout will be aware of the auxiliary
> buffer.
> > -          * In addition, the clear buffer entries and the auxiliary
> buffers
> > -          * have been populated with values that will result in correct
> > -          * rendering.
> > -          */
> > -         return;
> > +         transition_color_buffer(cmd_buffer, image, aspect,
> > +                                 base_level, level_count,
> > +                                 base_layer, layer_count,
> > +                                 VK_IMAGE_LAYOUT_COLOR_
> ATTACHMENT_OPTIMAL,
> > +                                 final_layout);
>
> This will also fall thru after recurring to transition_color_buffer().
>
> >        }
>

You're right.  There's supposed to be a return right here.  I've added it.


> >     } else if (initial_layout != VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL)
> {
> >        /* Resolves are only necessary if the subresource may contain
> blocks
> > --
> > 2.5.0.400.gff86faf
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180121/d88094ba/attachment.html>


More information about the mesa-dev mailing list