It's a bit annoying, but I think this would all make more sense if we moved 23 and 24 to before 19. Then we could drop no_aux from 21. Then again, I'm sure Ben has some good reason why that's not practical and I'm fine with leaving the order as-is. It's hard to review but there's a lot of detangling going on so I think that's somewhat expected.
On Fri, May 19, 2017 at 2:38 AM, Daniel Stone <dani...@collabora.com> wrote: > From: Ben Widawsky <b...@bwidawsk.net> > > There is nothing particularly useful to do currently if the update > fails, but there is no point carrying on either. As a result, this has a > behavior change. > > v2: Make the return type a bool (Topi) > > v3: Don't leak the bo if update_winsys_renderbuffer fails. (Jason) > > Signed-off-by: Ben Widawsky <benjamin.widaw...@intel.com> > Acked-by: Daniel Stone <dani...@collabora.com> > Reviewed-by: Topi Pohjolainen <topi.pohjolai...@intel.com> (v2) > Signed-off-by: Daniel Stone <dani...@collabora.com> > --- > src/mesa/drivers/dri/i965/brw_context.c | 16 ++++++++++------ > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 6 +++--- > src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 2 +- > 3 files changed, 14 insertions(+), 10 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_context.c > b/src/mesa/drivers/dri/i965/brw_context.c > index 1a2b64f73e..3ae84fd332 100644 > --- a/src/mesa/drivers/dri/i965/brw_context.c > +++ b/src/mesa/drivers/dri/i965/brw_context.c > @@ -1660,9 +1660,12 @@ intel_process_dri2_buffer(struct brw_context *brw, > return; > } > > - intel_update_winsys_renderbuffer_miptree(brw, rb, bo, > - drawable->w, drawable->h, > - buffer->pitch); > + if (!intel_update_winsys_renderbuffer_miptree(brw, rb, bo, > + drawable->w, drawable->h, > + buffer->pitch)) { > + brw_bo_unreference(bo); > + return; > + } > > if (_mesa_is_front_buffer_drawing(fb) && > (buffer->attachment == __DRI_BUFFER_FRONT_LEFT || > @@ -1721,9 +1724,10 @@ intel_update_image_buffer(struct brw_context > *intel, > if (!buffer->aux_offset) > rb->no_aux = true; > > - intel_update_winsys_renderbuffer_miptree(intel, rb, buffer->bo, > - buffer->width, buffer->height, > - buffer->pitch); > + if (!intel_update_winsys_renderbuffer_miptree(intel, rb, buffer->bo, > + buffer->width, > buffer->height, > + buffer->pitch)) > + return; > > if (_mesa_is_front_buffer_drawing(fb) && > buffer_type == __DRI_IMAGE_BUFFER_FRONT && > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > index 9dca5cc435..edda132f7b 100644 > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > @@ -870,7 +870,7 @@ intel_miptree_create_for_image(struct brw_context > *intel, > * that will contain the actual rendering (which is lazily resolved to > * irb->singlesample_mt). > */ > -void > +bool > intel_update_winsys_renderbuffer_miptree(struct brw_context *intel, > struct intel_renderbuffer *irb, > struct brw_bo *bo, > @@ -937,12 +937,12 @@ intel_update_winsys_renderbuffer_miptree(struct > brw_context *intel, > irb->mt = multisample_mt; > } > } > - return; > + return true; > > fail: > intel_miptree_release(&irb->singlesample_mt); > intel_miptree_release(&irb->mt); > - return; > + return false; > } > > struct intel_mipmap_tree* > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > index 8ec1278d0b..15e81300a2 100644 > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > @@ -717,7 +717,7 @@ intel_miptree_create_for_image(struct brw_context > *intel, > uint32_t pitch, > uint32_t layout_flags); > > -void > +bool > intel_update_winsys_renderbuffer_miptree(struct brw_context *intel, > struct intel_renderbuffer *irb, > struct brw_bo *bo, > -- > 2.13.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev