diff options
author | Eric Anholt <[email protected]> | 2014-11-19 17:39:04 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-11-20 13:07:07 -0800 |
commit | 21577571b37e68edc0422fbf80932588a4614abc (patch) | |
tree | 031a8f9d5adbb2c2bab7d0fd65137e1d7396cd36 /src/gallium/drivers/vc4/vc4_screen.h | |
parent | 390799c496d363e7476afb0dbb8f28cbc6e20807 (diff) |
vc4: Update for new kernel ABI with async execution and waits.
Our submits now return immediately and you have to manually wait for
things to complete if you want to (like a normal driver).
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_screen.h')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_screen.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_screen.h b/src/gallium/drivers/vc4/vc4_screen.h index 470cb06e2bf..ba07490fc94 100644 --- a/src/gallium/drivers/vc4/vc4_screen.h +++ b/src/gallium/drivers/vc4/vc4_screen.h @@ -47,6 +47,13 @@ struct vc4_screen { void *simulator_mem_base; uint32_t simulator_mem_size; + + /** The last seqno we've completed a wait for. + * + * This lets us slightly optimize our waits by skipping wait syscalls + * if we know the job's already done. + */ + uint64_t finished_seqno; }; static inline struct vc4_screen * @@ -67,4 +74,10 @@ vc4_screen_bo_from_handle(struct pipe_screen *pscreen, extern uint32_t vc4_debug; +void +vc4_fence_init(struct vc4_screen *screen); + +struct vc4_fence * +vc4_fence_create(struct vc4_screen *screen, uint64_t seqno); + #endif /* VC4_SCREEN_H */ |