• Home
  • Raw
  • Download

Lines Matching refs:vctx

57 static bool virgl_res_needs_flush(struct virgl_context *vctx,  in virgl_res_needs_flush()  argument
60 struct virgl_winsys *vws = virgl_screen(vctx->base.screen)->vws; in virgl_res_needs_flush()
66 if (!vws->res_is_referenced(vws, vctx->cbuf, res->hw_res)) in virgl_res_needs_flush()
82 static bool virgl_res_needs_readback(struct virgl_context *vctx, in virgl_res_needs_readback() argument
97 virgl_resource_transfer_prepare(struct virgl_context *vctx, in virgl_resource_transfer_prepare() argument
100 struct virgl_screen *vs = virgl_screen(vctx->base.screen); in virgl_resource_transfer_prepare()
120 flush = virgl_res_needs_flush(vctx, xfer); in virgl_resource_transfer_prepare()
121 readback = virgl_res_needs_readback(vctx, res, xfer->base.usage, in virgl_resource_transfer_prepare()
159 can_realloc = virgl_can_rebind_resource(vctx, &res->b); in virgl_resource_transfer_prepare()
161 can_staging = vctx->supports_staging; in virgl_resource_transfer_prepare()
183 flush = (vctx->queued_staging_res_size > in virgl_resource_transfer_prepare()
200 if (!flush && virgl_transfer_queue_is_queued(&vctx->queue, xfer)) in virgl_resource_transfer_prepare()
205 vctx->base.flush(&vctx->base, NULL, 0); in virgl_resource_transfer_prepare()
269 virgl_staging_map(struct virgl_context *vctx, in virgl_staging_map() argument
280 assert(vctx->supports_staging); in virgl_staging_map()
302 virgl_staging_alloc(&vctx->staging, size + align_offset, in virgl_staging_map()
327 vctx->queued_staging_res_size += size + align_offset; in virgl_staging_map()
334 virgl_resource_realloc(struct virgl_context *vctx, struct virgl_resource *res) in virgl_resource_realloc() argument
336 struct virgl_screen *vs = virgl_screen(vctx->base.screen); in virgl_resource_realloc()
367 vctx->queued_staging_res_size += res->metadata.total_size; in virgl_resource_realloc()
369 virgl_rebind_resource(vctx, &res->b); in virgl_resource_realloc()
382 struct virgl_context *vctx = virgl_context(ctx); in virgl_resource_transfer_map() local
392 trans = virgl_resource_create_transfer(vctx, resource, in virgl_resource_transfer_map()
395 map_type = virgl_resource_transfer_prepare(vctx, trans); in virgl_resource_transfer_map()
398 if (!virgl_resource_realloc(vctx, vres)) { in virgl_resource_transfer_map()
412 map_addr = virgl_staging_map(vctx, trans); in virgl_resource_transfer_map()
424 virgl_resource_destroy_transfer(vctx, trans); in virgl_resource_transfer_map()
653 struct virgl_context *vctx = virgl_context(pipe); in virgl_buffer_subdata() local
664 virgl_transfer_queue_extend_buffer(&vctx->queue, in virgl_buffer_subdata()
686 virgl_resource_create_transfer(struct virgl_context *vctx, in virgl_resource_create_transfer() argument
692 struct virgl_winsys *vws = virgl_screen(vctx->base.screen)->vws; in virgl_resource_create_transfer()
717 trans = slab_alloc(&vctx->transfer_pool); in virgl_resource_create_transfer()
750 void virgl_resource_destroy_transfer(struct virgl_context *vctx, in virgl_resource_destroy_transfer() argument
753 struct virgl_winsys *vws = virgl_screen(vctx->base.screen)->vws; in virgl_resource_destroy_transfer()
760 slab_free(&vctx->transfer_pool, trans); in virgl_resource_destroy_transfer()