-/* -*- mode: C; c-file-style: "k&r"; tab-width 4; indent-tabs-mode: t; -*- */
-
/*
* Copyright (C) 2012 Rob Clark <robclark@freedesktop.org>
*
#include "pipe/p_context.h"
-void fd_screen_fence_ref(struct pipe_screen *pscreen,
- struct pipe_fence_handle **ptr,
+void fd_fence_populate(struct pipe_fence_handle *fence,
+ uint32_t timestamp, int fence_fd);
+void fd_fence_ref(struct pipe_fence_handle **ptr,
struct pipe_fence_handle *pfence);
-boolean fd_screen_fence_finish(struct pipe_screen *screen,
+bool fd_fence_finish(struct pipe_screen *pscreen,
+ struct pipe_context *ctx,
struct pipe_fence_handle *pfence,
uint64_t timeout);
-struct pipe_fence_handle * fd_fence_create(struct pipe_context *pctx,
- uint32_t timestamp);
+void fd_create_fence_fd(struct pipe_context *pctx,
+ struct pipe_fence_handle **pfence, int fd,
+ enum pipe_fd_type type);
+void fd_fence_server_sync(struct pipe_context *pctx,
+ struct pipe_fence_handle *fence);
+int fd_fence_get_fd(struct pipe_screen *pscreen,
+ struct pipe_fence_handle *pfence);
+
+struct fd_batch;
+struct pipe_fence_handle * fd_fence_create(struct fd_batch *batch);
#endif /* FREEDRENO_FENCE_H_ */