gallium: wire up server_wait_sync
This will be needed for explicit synchronization with devices outside the gpu, ie. EGL_ANDROID_native_fence_sync. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
0201f01dc4
commit
72cc1ca58d
|
@ -474,6 +474,12 @@ struct pipe_context {
|
|||
struct pipe_fence_handle **fence,
|
||||
unsigned flags);
|
||||
|
||||
/**
|
||||
* Insert commands to have GPU wait for fence to be signaled.
|
||||
*/
|
||||
void (*fence_server_sync)(struct pipe_context *pipe,
|
||||
struct pipe_fence_handle *fence);
|
||||
|
||||
/**
|
||||
* Create a view on a texture to be used by a shader stage.
|
||||
*/
|
||||
|
|
|
@ -1548,7 +1548,11 @@ dri2_client_wait_sync(__DRIcontext *_ctx, void *_fence, unsigned flags,
|
|||
static void
|
||||
dri2_server_wait_sync(__DRIcontext *_ctx, void *_fence, unsigned flags)
|
||||
{
|
||||
/* AFAIK, no driver currently supports parallel context execution. */
|
||||
struct pipe_context *ctx = dri_context(_ctx)->st->pipe;
|
||||
struct dri2_fence *fence = (struct dri2_fence*)_fence;
|
||||
|
||||
if (ctx->fence_server_sync)
|
||||
ctx->fence_server_sync(ctx, fence->pipe_fence);
|
||||
}
|
||||
|
||||
static __DRI2fenceExtension dri2FenceExtension = {
|
||||
|
|
Loading…
Reference in New Issue