summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_screen.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-11-19 17:39:04 -0800
committerEric Anholt <[email protected]>2014-11-20 13:07:07 -0800
commit21577571b37e68edc0422fbf80932588a4614abc (patch)
tree031a8f9d5adbb2c2bab7d0fd65137e1d7396cd36 /src/gallium/drivers/vc4/vc4_screen.h
parent390799c496d363e7476afb0dbb8f28cbc6e20807 (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.h13
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 */