X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fllvmpipe%2Flp_fence.h;h=b72026492c6a8fdf9a4d6297c2040a5c6b41f830;hb=01ab218bbc5c8058a99077a6bc3dc9884e9d218a;hp=b80af5c6543219edf6f5e12aa337aedfc4d97c56;hpb=b6e03eafe3311142445ca42c1574d3f6998eecc3;p=mesa.git diff --git a/src/gallium/drivers/llvmpipe/lp_fence.h b/src/gallium/drivers/llvmpipe/lp_fence.h index b80af5c6543..b72026492c6 100644 --- a/src/gallium/drivers/llvmpipe/lp_fence.h +++ b/src/gallium/drivers/llvmpipe/lp_fence.h @@ -43,9 +43,10 @@ struct lp_fence struct pipe_reference reference; unsigned id; - pipe_mutex mutex; - pipe_condvar signalled; + mtx_t mutex; + cnd_t signalled; + boolean issued; unsigned rank; unsigned count; }; @@ -58,6 +59,11 @@ lp_fence_create(unsigned rank); void lp_fence_signal(struct lp_fence *fence); +boolean +lp_fence_signalled(struct lp_fence *fence); + +void +lp_fence_wait(struct lp_fence *fence); void llvmpipe_init_screen_fence_funcs(struct pipe_screen *screen); @@ -66,7 +72,7 @@ llvmpipe_init_screen_fence_funcs(struct pipe_screen *screen); void lp_fence_destroy(struct lp_fence *fence); -static INLINE void +static inline void lp_fence_reference(struct lp_fence **ptr, struct lp_fence *f) { @@ -79,5 +85,11 @@ lp_fence_reference(struct lp_fence **ptr, *ptr = f; } +static inline boolean +lp_fence_issued(const struct lp_fence *fence) +{ + return fence->issued; +} + #endif /* LP_FENCE_H */