On 12/10/16 08:52 PM, Nicolai Hähnle wrote: > On 12.10.2016 11:31, Michel Dänzer wrote: >> >> diff --git a/src/mesa/state_tracker/st_cb_syncobj.c >> b/src/mesa/state_tracker/st_cb_syncobj.c >> index 123925a..de01880 100644 >> --- a/src/mesa/state_tracker/st_cb_syncobj.c >> +++ b/src/mesa/state_tracker/st_cb_syncobj.c >> @@ -81,17 +81,22 @@ static void st_check_sync(struct gl_context *ctx, >> struct gl_sync_object *obj) >> struct pipe_context *pipe = st_context(ctx)->pipe; >> struct pipe_screen *screen = pipe->screen; >> struct st_sync_object *so = (struct st_sync_object*)obj; >> + struct pipe_fence_handle *fence = NULL; >> + >> + screen->fence_reference(screen, &fence, so->fence); > > This should probably really use p_atomic_read (or some kind of READ_ONCE > macro if we had it) to make the intention clear, but I'm not sure > whether that would compile everywhere since so->fence is a pointer. > > In practice it doesn't matter, because the function call is a sufficient > barrier. So either way, > > Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
Thanks, but unfortunately, https://bugs.freedesktop.org/show_bug.cgi?id=98172#c5 shows that this really isn't good enough yet. Back to the drawing board... -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev