• Home
  • Raw
  • Download

Lines Matching refs:usage

34                                    enum radeon_bo_usage usage)  in si_rings_is_buffer_referenced()  argument
36 if (sctx->ws->cs_is_buffer_referenced(sctx->gfx_cs, buf, usage)) { in si_rings_is_buffer_referenced()
40 sctx->ws->cs_is_buffer_referenced(sctx->sdma_cs, buf, usage)) { in si_rings_is_buffer_referenced()
47 unsigned usage) in si_buffer_map_sync_with_rings() argument
54 if (usage & PIPE_MAP_UNSYNCHRONIZED) { in si_buffer_map_sync_with_rings()
55 return sctx->ws->buffer_map(resource->buf, NULL, usage); in si_buffer_map_sync_with_rings()
58 if (!(usage & PIPE_MAP_WRITE)) { in si_buffer_map_sync_with_rings()
65 if (usage & PIPE_MAP_DONTBLOCK) { in si_buffer_map_sync_with_rings()
75 if (usage & PIPE_MAP_DONTBLOCK) { in si_buffer_map_sync_with_rings()
85 if (usage & PIPE_MAP_DONTBLOCK) { in si_buffer_map_sync_with_rings()
97 return sctx->ws->buffer_map(resource->buf, NULL, usage); in si_buffer_map_sync_with_rings()
111 switch (res->b.b.usage) { in si_init_resource_fields()
340 unsigned usage, const struct pipe_box *box, in si_buffer_get_transfer() argument
347 if (usage & PIPE_MAP_THREAD_SAFE) in si_buffer_get_transfer()
349 else if (usage & TC_TRANSFER_MAP_THREADED_UNSYNC) in si_buffer_get_transfer()
357 transfer->b.b.usage = usage; in si_buffer_get_transfer()
369 unsigned level, unsigned usage, const struct pipe_box *box, in si_buffer_transfer_map() argument
390 usage |= PIPE_MAP_PERSISTENT; in si_buffer_transfer_map()
394 if (!(usage & (PIPE_MAP_UNSYNCHRONIZED | TC_TRANSFER_MAP_NO_INFER_UNSYNCHRONIZED)) && in si_buffer_transfer_map()
395 usage & PIPE_MAP_WRITE && !buf->b.is_shared && in si_buffer_transfer_map()
397 usage |= PIPE_MAP_UNSYNCHRONIZED; in si_buffer_transfer_map()
401 if (usage & PIPE_MAP_DISCARD_RANGE && box->x == 0 && box->width == resource->width0) { in si_buffer_transfer_map()
402 usage |= PIPE_MAP_DISCARD_WHOLE_RESOURCE; in si_buffer_transfer_map()
409 if (usage & (PIPE_MAP_DISCARD_WHOLE_RESOURCE | PIPE_MAP_DISCARD_RANGE) && in si_buffer_transfer_map()
410 !(usage & PIPE_MAP_PERSISTENT) && in si_buffer_transfer_map()
415 usage &= ~(PIPE_MAP_DISCARD_WHOLE_RESOURCE | PIPE_MAP_UNSYNCHRONIZED); in si_buffer_transfer_map()
416 usage |= PIPE_MAP_DISCARD_RANGE; in si_buffer_transfer_map()
420 if (usage & PIPE_MAP_DISCARD_WHOLE_RESOURCE && in si_buffer_transfer_map()
421 !(usage & (PIPE_MAP_UNSYNCHRONIZED | TC_TRANSFER_MAP_NO_INVALIDATE))) { in si_buffer_transfer_map()
422 assert(usage & PIPE_MAP_WRITE); in si_buffer_transfer_map()
426 usage |= PIPE_MAP_UNSYNCHRONIZED; in si_buffer_transfer_map()
429 usage |= PIPE_MAP_DISCARD_RANGE; in si_buffer_transfer_map()
433 if (usage & PIPE_MAP_FLUSH_EXPLICIT && in si_buffer_transfer_map()
435 usage &= ~(PIPE_MAP_UNSYNCHRONIZED | PIPE_MAP_PERSISTENT); in si_buffer_transfer_map()
436 usage |= PIPE_MAP_DISCARD_RANGE; in si_buffer_transfer_map()
440 if (usage & PIPE_MAP_DISCARD_RANGE && in si_buffer_transfer_map()
441 ((!(usage & (PIPE_MAP_UNSYNCHRONIZED | PIPE_MAP_PERSISTENT))) || in si_buffer_transfer_map()
443 assert(usage & PIPE_MAP_WRITE); in si_buffer_transfer_map()
459 if (usage & TC_TRANSFER_MAP_THREADED_UNSYNC) in si_buffer_transfer_map()
470 return si_buffer_get_transfer(ctx, resource, usage, box, ptransfer, data, staging, in si_buffer_transfer_map()
477 usage |= PIPE_MAP_UNSYNCHRONIZED; in si_buffer_transfer_map()
481 else if (((usage & PIPE_MAP_READ) && !(usage & PIPE_MAP_PERSISTENT) && in si_buffer_transfer_map()
486 assert(!(usage & (TC_TRANSFER_MAP_THREADED_UNSYNC | PIPE_MAP_THREAD_SAFE))); in si_buffer_transfer_map()
496 data = si_buffer_map_sync_with_rings(sctx, staging, usage & ~PIPE_MAP_UNSYNCHRONIZED); in si_buffer_transfer_map()
503 return si_buffer_get_transfer(ctx, resource, usage, box, ptransfer, data, staging, 0); in si_buffer_transfer_map()
509 data = si_buffer_map_sync_with_rings(sctx, buf, usage); in si_buffer_transfer_map()
515 return si_buffer_get_transfer(ctx, resource, usage, box, ptransfer, data, NULL, 0); in si_buffer_transfer_map()
581 if ((transfer->usage & required_usage) == required_usage) { in si_buffer_flush_region()
594 if (transfer->usage & PIPE_MAP_WRITE && !(transfer->usage & PIPE_MAP_FLUSH_EXPLICIT)) in si_buffer_transfer_unmap()
601 if (transfer->usage & PIPE_MAP_THREAD_SAFE) { in si_buffer_transfer_unmap()
612 unsigned usage, unsigned offset, unsigned size, const void *data) in si_buffer_subdata() argument
618 usage |= PIPE_MAP_WRITE; in si_buffer_subdata()
620 if (!(usage & PIPE_MAP_DIRECTLY)) in si_buffer_subdata()
621 usage |= PIPE_MAP_DISCARD_RANGE; in si_buffer_subdata()
624 map = si_buffer_transfer_map(ctx, buffer, 0, usage, &box, &transfer); in si_buffer_subdata()
684 unsigned usage, unsigned size, unsigned alignment) in pipe_aligned_buffer_create() argument
692 buffer.usage = usage; in pipe_aligned_buffer_create()
702 unsigned usage, unsigned size, unsigned alignment) in si_aligned_buffer_create() argument
704 return si_resource(pipe_aligned_buffer_create(screen, flags, usage, size, alignment)); in si_aligned_buffer_create()