i965/miptree: Add a return for updating of winsys
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.widawsky@intel.com> Acked-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> (v2) Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Chad Versace <chadversary@chromium.org>
This commit is contained in:

committed by
Jason Ekstrand

parent
30cfed57ce
commit
aadd37298c
@@ -1504,9 +1504,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 ||
|
||||
@@ -1562,9 +1565,10 @@ intel_update_image_buffer(struct brw_context *intel,
|
||||
if (last_mt && last_mt->bo == buffer->bo)
|
||||
return;
|
||||
|
||||
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 &&
|
||||
|
@@ -1112,7 +1112,7 @@ intel_miptree_create_for_dri_image(struct brw_context *brw,
|
||||
* 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,
|
||||
@@ -1168,12 +1168,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*
|
||||
|
@@ -691,7 +691,7 @@ intel_miptree_create_for_dri_image(struct brw_context *brw,
|
||||
__DRIimage *image,
|
||||
GLenum target);
|
||||
|
||||
void
|
||||
bool
|
||||
intel_update_winsys_renderbuffer_miptree(struct brw_context *intel,
|
||||
struct intel_renderbuffer *irb,
|
||||
struct brw_bo *bo,
|
||||
|
Reference in New Issue
Block a user