Module: Mesa Branch: master Commit: f4f39fa5d9692b60a555cec8d4537f05cc93c9ac URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4f39fa5d9692b60a555cec8d4537f05cc93c9ac
Author: Charmaine Lee <[email protected]> Date: Thu Aug 9 16:22:52 2018 -0700 winsys/drm: Fix assert when try to accumulate an invalid fd This patch makes sure there is a valid fd before merging it to the context's fd in vmw_svga_winsys_fence_server_sync(). This fixes the assert running webot. No regression running kmscube. Reviewed-by: Sinclair Yeh <[email protected]> --- src/gallium/winsys/svga/drm/vmw_screen_svga.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gallium/winsys/svga/drm/vmw_screen_svga.c b/src/gallium/winsys/svga/drm/vmw_screen_svga.c index 7c80642b37..27a8b07016 100644 --- a/src/gallium/winsys/svga/drm/vmw_screen_svga.c +++ b/src/gallium/winsys/svga/drm/vmw_screen_svga.c @@ -158,8 +158,13 @@ vmw_svga_winsys_fence_server_sync(struct svga_winsys_screen *sws, int32_t *context_fd, struct pipe_fence_handle *fence) { - return sync_accumulate("vmwgfx", context_fd, - sws->fence_get_fd(sws, fence, FALSE)); + int32_t fd = sws->fence_get_fd(sws, fence, FALSE); + + /* If we don't have fd, we don't need to merge fd into the context's fd. */ + if (fd == -1) + return 0; + + return sync_accumulate("vmwgfx", context_fd, fd); } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
