mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 10:18:05 +02:00
kopper: handle pixmap creation failure more gracefully
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075>
(cherry picked from commit 2b71e645bc)
This commit is contained in:
parent
82836d18d5
commit
4171bb1239
2 changed files with 8 additions and 4 deletions
|
|
@ -22994,7 +22994,7 @@
|
|||
"description": "kopper: handle pixmap creation failure more gracefully",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -410,6 +410,8 @@ kopper_get_pixmap_buffer(struct dri_drawable *drawable,
|
|||
dri3_create_image_from_buffers(conn, bps_reply, format,
|
||||
screen, &driVkImageExtension,
|
||||
drawable);
|
||||
if (!drawable->image)
|
||||
return NULL;
|
||||
width = bps_reply->width;
|
||||
height = bps_reply->height;
|
||||
free(bps_reply);
|
||||
|
|
@ -430,6 +432,8 @@ kopper_get_pixmap_buffer(struct dri_drawable *drawable,
|
|||
drawable->image = dri3_create_image(conn, bp_reply, format,
|
||||
screen, &driVkImageExtension,
|
||||
drawable);
|
||||
if (!drawable->image)
|
||||
return NULL;
|
||||
width = bp_reply->width;
|
||||
height = bp_reply->height;
|
||||
free(bp_reply);
|
||||
|
|
@ -594,13 +598,13 @@ XXX do this once swapinterval is hooked up
|
|||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
||||
else if (is_pixmap && statts[i] == ST_ATTACHMENT_FRONT_LEFT && !screen->is_sw) {
|
||||
drawable->textures[statts[i]] = kopper_get_pixmap_buffer(drawable, format);
|
||||
handle_in_fence(ctx, drawable->image);
|
||||
if (drawable->textures[statts[i]])
|
||||
handle_in_fence(ctx, drawable->image);
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
if (!drawable->textures[statts[i]])
|
||||
drawable->textures[statts[i]] =
|
||||
screen->base.screen->resource_create(screen->base.screen, &templ);
|
||||
}
|
||||
}
|
||||
if (drawable->stvis.samples > 1 && !drawable->msaa_textures[statts[i]]) {
|
||||
templ.bind = bind &
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue