On 2018-07-06 12:15 AM, Marek Olšák wrote: > From: Marek Olšák <[email protected]> > > Ported from i965 including the comment. > > This fixes: > dEQP-EGL.functional.reusable_sync.valid.wait_server > > Cc: 18.1 <[email protected]> > --- > src/gallium/state_trackers/dri/dri_helpers.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/src/gallium/state_trackers/dri/dri_helpers.c > b/src/gallium/state_trackers/dri/dri_helpers.c > index f1501bfb815..5d42873a208 100644 > --- a/src/gallium/state_trackers/dri/dri_helpers.c > +++ b/src/gallium/state_trackers/dri/dri_helpers.c > @@ -207,20 +207,26 @@ dri2_client_wait_sync(__DRIcontext *_ctx, void *_fence, > unsigned flags, > return false; > } > } > > static void > dri2_server_wait_sync(__DRIcontext *_ctx, void *_fence, unsigned flags) > { > struct pipe_context *ctx = dri_context(_ctx)->st->pipe; > struct dri2_fence *fence = (struct dri2_fence*)_fence; > > + /* We might be called here with a NULL fence as a result of WaitSyncKHR > + * on a EGL_KHR_reusable_sync fence. Nothing to do here in such case. > + */ > + if (!fence) > + return; > + > if (ctx->fence_server_sync) > ctx->fence_server_sync(ctx, fence->pipe_fence); > } > > const __DRI2fenceExtension dri2FenceExtension = { > .base = { __DRI2_FENCE, 2 }, > > .create_fence = dri2_create_fence, > .get_fence_from_cl_event = dri2_get_fence_from_cl_event, > .destroy_fence = dri2_destroy_fence, >
Reviewed-by: Michel Dänzer <[email protected]> -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
