···4848 return cl;
4949}
50505151-void submit(Queue pq, CommandList pcl) {
5151+void submit(Queue pq, CommandList pcl, Semaphore sem, uint64_t value) {
5252 auto *queue = (QueueImpl *)pq;
5353 auto *cl = (CommandListImpl *)pcl;
5454 assert(cl->queue == queue, "submit: commandlist from foreign queue");
55555656- queue->cmd_ring->submit(cl->cs);
5656+ auto *semaphore = (SemaphoreImpl *)sem;
5757+5858+ queue->cmd_ring->submit(cl->cs, semaphore, value);
57595860 // @todo: to free commandlist, we want to be sure that it is no longer mapped and stuff.
5961 // then, we can freely-free it. But i think this needs some deferred-cleanup, as