Lines Matching refs:ring

53 static void finalize_current_cmd(struct fd_ringbuffer *ring);
142 * increment the refcnt of the current ring
446 finalize_current_cmd(struct fd_ringbuffer *ring)
448 assert(!(ring->flags & _FD_RINGBUFFER_OBJECT));
450 struct fd_ringbuffer_sp *fd_ring = to_fd_ringbuffer_sp(ring);
454 .size = offset_bytes(ring->cur, ring->start),
459 fd_ringbuffer_sp_grow(struct fd_ringbuffer *ring, uint32_t size)
461 struct fd_ringbuffer_sp *fd_ring = to_fd_ringbuffer_sp(ring);
464 assert(ring->flags & FD_RINGBUFFER_GROWABLE);
466 finalize_current_cmd(ring);
471 ring->start = fd_bo_map(fd_ring->ring_bo);
472 ring->end = &(ring->start[size / 4]);
473 ring->cur = ring->start;
474 ring->size = size;
478 fd_ringbuffer_references_bo(struct fd_ringbuffer *ring, struct fd_bo *bo)
480 struct fd_ringbuffer_sp *fd_ring = to_fd_ringbuffer_sp(ring);
497 fd_ringbuffer_sp_cmd_count(struct fd_ringbuffer *ring)
499 if (ring->flags & FD_RINGBUFFER_GROWABLE)
500 return to_fd_ringbuffer_sp(ring)->u.nr_cmds + 1;
505 fd_ringbuffer_sp_check_size(struct fd_ringbuffer *ring)
507 assert(!(ring->flags & _FD_RINGBUFFER_OBJECT));
508 struct fd_ringbuffer_sp *fd_ring = to_fd_ringbuffer_sp(ring);
519 fd_ringbuffer_sp_destroy(struct fd_ringbuffer *ring)
521 struct fd_ringbuffer_sp *fd_ring = to_fd_ringbuffer_sp(ring);
525 if (ring->flags & _FD_RINGBUFFER_OBJECT) {
582 struct fd_ringbuffer *ring = &fd_ring->base;
587 ring->start = (void *)(base + fd_ring->offset);
588 ring->end = &(ring->start[size / 4]);
589 ring->cur = ring->start;
591 ring->size = size;
592 ring->flags = flags;
596 ring->funcs = &ring_funcs_obj_64;
598 ring->funcs = &ring_funcs_obj_32;
602 ring->funcs = &ring_funcs_nonobj_64;
604 ring->funcs = &ring_funcs_nonobj_32;
616 return ring;