On Tue, Jan 23, 2018 at 7:05 PM, Andres Rodriguez <andre...@gmail.com> wrote: > Bits to implement ServerWaitSemaphoreObject/ServerSignalSemaphoreObject > > v2: > - corresponding changes for gallium fence->semaphore rename > - flushing moved to mesa/main > > v3: s/semaphore/fence for pipe objects > > Signed-off-by: Andres Rodriguez <andre...@gmail.com> > --- > src/mesa/state_tracker/st_cb_semaphoreobjects.c | 27 > +++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/src/mesa/state_tracker/st_cb_semaphoreobjects.c > b/src/mesa/state_tracker/st_cb_semaphoreobjects.c > index 25e3043c40..5510102635 100644 > --- a/src/mesa/state_tracker/st_cb_semaphoreobjects.c > +++ b/src/mesa/state_tracker/st_cb_semaphoreobjects.c > @@ -1,5 +1,7 @@ > + > #include "main/imports.h" > #include "main/mtypes.h" > +#include "main/context.h" > > #include "main/externalobjects.h" > > @@ -46,10 +48,35 @@ st_import_semaphoreobj_fd(struct gl_context *ctx, > #endif > } > > +static void > +st_server_wait_semaphore(struct gl_context *ctx, > + struct gl_semaphore_object *semObj) > +{ > + struct st_semaphore_object *st_obj = st_semaphore_object(semObj); > + struct st_context *st = st_context(ctx); > + struct pipe_context *pipe = st->pipe; > +
st_flush_bitmap_cache(st); should be called here. > + pipe->fence_server_sync(pipe, st_obj->fence); > +} > + > +static void > +st_server_signal_semaphore(struct gl_context *ctx, > + struct gl_semaphore_object *semObj) > +{ > + struct st_semaphore_object *st_obj = st_semaphore_object(semObj); > + struct st_context *st = st_context(ctx); > + struct pipe_context *pipe = st->pipe; > + st_flush_bitmap_cache(st); should be called here. > + /**TODO FIXME */ > + pipe->fence_server_signal(pipe, st_obj->fence); > +} > + Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev