On Mon, Jul 17, 2017 at 4:18 AM, James Legg <jl...@feralinteractive.com>
wrote:

> On Tue, 2017-07-11 at 17:04 -0700, Jason Ekstrand wrote:
> > We were early returning and never created the NULL surface state.
> >
> > Cc: mesa-sta...@lists.freedesktop.org
>
> This patch fixes a bug that affected me.
>
> Tested-by: James Legg <jl...@feralinteractive.com>
>

Thanks!  Lionel already reviewed the patch so I went ahead and pushed this
one.  It's got a stable CC so it should end up back-ported to 17.1 as well.


> I submitted a similar patch before seeing this one
> (https://patchwork.freedesktop.org/patch/167047/). I'll drop that if
> this one is merged.
>
> James
>
> > ---
> >  src/intel/vulkan/genX_cmd_buffer.c | 23 +++++++++++------------
> >  1 file changed, 11 insertions(+), 12 deletions(-)
> >
> > diff --git a/src/intel/vulkan/genX_cmd_buffer.c
> b/src/intel/vulkan/genX_cmd_buffer.c
> > index 53c58ca..9b3bb10 100644
> > --- a/src/intel/vulkan/genX_cmd_buffer.c
> > +++ b/src/intel/vulkan/genX_cmd_buffer.c
> > @@ -429,19 +429,18 @@ genX(cmd_buffer_setup_attachments)(struct
> anv_cmd_buffer *cmd_buffer,
> >
> >     vk_free(&cmd_buffer->pool->alloc, state->attachments);
> >
> > -   if (pass->attachment_count == 0) {
> > +   if (pass->attachment_count > 0) {
> > +      state->attachments = vk_alloc(&cmd_buffer->pool->alloc,
> > +                                    pass->attachment_count *
> > +                                         sizeof(state->attachments[0]),
> > +                                    8, VK_SYSTEM_ALLOCATION_SCOPE_
> OBJECT);
> > +      if (state->attachments == NULL) {
> > +         /* Propagate VK_ERROR_OUT_OF_HOST_MEMORY to vkEndCommandBuffer
> */
> > +         return anv_batch_set_error(&cmd_buffer->batch,
> > +                                    VK_ERROR_OUT_OF_HOST_MEMORY);
> > +      }
> > +   } else {
> >        state->attachments = NULL;
> > -      return VK_SUCCESS;
> > -   }
> > -
> > -   state->attachments = vk_alloc(&cmd_buffer->pool->alloc,
> > -                                 pass->attachment_count *
> > -                                      sizeof(state->attachments[0]),
> > -                                 8, VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
> > -   if (state->attachments == NULL) {
> > -      /* Propagate VK_ERROR_OUT_OF_HOST_MEMORY to vkEndCommandBuffer */
> > -      return anv_batch_set_error(&cmd_buffer->batch,
> > -                                 VK_ERROR_OUT_OF_HOST_MEMORY);
> >     }
> >
> >     /* Reserve one for the NULL state. */
> > --
> > 2.5.0.400.gff86faf
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to