From 349576d92f7fa3572700a6de301057b1e7d17e59 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 1 Aug 2022 15:59:48 -0400 Subject: [PATCH] nine: check return on resource_get_handle this has a return code, and if it return false, this is probably an exit condition cc: mesa-stable Reviewed-by: Dave Airlie Part-of: (cherry picked from commit 188721d6d3d4cab9b0ca8fa419e4c33a33ae3910) --- .pick_status.json | 2 +- src/gallium/frontends/nine/swapchain9.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index c6245e9b4f3..36395302970 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -418,7 +418,7 @@ "description": "nine: check return on resource_get_handle", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/gallium/frontends/nine/swapchain9.c b/src/gallium/frontends/nine/swapchain9.c index 1376ed99454..df42bffa12e 100644 --- a/src/gallium/frontends/nine/swapchain9.c +++ b/src/gallium/frontends/nine/swapchain9.c @@ -103,11 +103,14 @@ D3DWindowBuffer_create(struct NineSwapChain9 *This, memset(&whandle, 0, sizeof(whandle)); whandle.type = WINSYS_HANDLE_TYPE_FD; - This->screen->resource_get_handle(This->screen, pipe, resource, - &whandle, - for_frontbuffer_reading ? - PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE : - PIPE_HANDLE_USAGE_EXPLICIT_FLUSH); + if (!This->screen->resource_get_handle(This->screen, pipe, resource, + &whandle, + for_frontbuffer_reading ? + PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE : + PIPE_HANDLE_USAGE_EXPLICIT_FLUSH)) { + ERR("Failed to get handle for resource\n"); + return NULL; + } nine_context_get_pipe_release(This->base.device); stride = whandle.stride; dmaBufFd = whandle.handle;