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;