summaryrefslogtreecommitdiffstats
path: root/server/red_worker.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/red_worker.h')
-rw-r--r--server/red_worker.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/server/red_worker.h b/server/red_worker.h
index ae2eaeec..961da939 100644
--- a/server/red_worker.h
+++ b/server/red_worker.h
@@ -68,6 +68,13 @@ enum {
RED_WORKER_MESSAGE_RESET_IMAGE_CACHE,
RED_WORKER_MESSAGE_DESTROY_SURFACE_WAIT,
RED_WORKER_MESSAGE_LOADVM_COMMANDS,
+ /* async commands */
+ RED_WORKER_MESSAGE_UPDATE_ASYNC,
+ RED_WORKER_MESSAGE_ADD_MEMSLOT_ASYNC,
+ RED_WORKER_MESSAGE_DESTROY_SURFACES_ASYNC,
+ RED_WORKER_MESSAGE_CREATE_PRIMARY_SURFACE_ASYNC,
+ RED_WORKER_MESSAGE_DESTROY_PRIMARY_SURFACE_ASYNC,
+ RED_WORKER_MESSAGE_DESTROY_SURFACE_WAIT_ASYNC,
};
typedef uint32_t RedWorkerMessage;
@@ -81,6 +88,8 @@ enum {
RED_RENDERER_OGL_PIXMAP,
};
+typedef struct RedDispatcher RedDispatcher;
+
typedef struct WorkerInitData {
struct QXLInstance *qxl;
int id;
@@ -98,6 +107,7 @@ typedef struct WorkerInitData {
uint8_t memslot_id_bits;
uint8_t internal_groupslot_id;
uint32_t n_surfaces;
+ RedDispatcher *dispatcher;
} WorkerInitData;
void *red_worker_main(void *arg);