• Home
  • Raw
  • Download

Lines Matching refs:bbo

270    struct anv_batch_bo *bbo = vk_alloc(&cmd_buffer->pool->alloc, sizeof(*bbo),  in anv_batch_bo_create()  local
272 if (bbo == NULL) in anv_batch_bo_create()
275 result = anv_bo_pool_alloc(&cmd_buffer->device->batch_bo_pool, &bbo->bo, in anv_batch_bo_create()
280 result = anv_reloc_list_init(&bbo->relocs, &cmd_buffer->pool->alloc); in anv_batch_bo_create()
284 *bbo_out = bbo; in anv_batch_bo_create()
289 anv_bo_pool_free(&cmd_buffer->device->batch_bo_pool, &bbo->bo); in anv_batch_bo_create()
291 vk_free(&cmd_buffer->pool->alloc, bbo); in anv_batch_bo_create()
303 struct anv_batch_bo *bbo = vk_alloc(&cmd_buffer->pool->alloc, sizeof(*bbo), in anv_batch_bo_clone() local
305 if (bbo == NULL) in anv_batch_bo_clone()
308 result = anv_bo_pool_alloc(&cmd_buffer->device->batch_bo_pool, &bbo->bo, in anv_batch_bo_clone()
313 result = anv_reloc_list_init_clone(&bbo->relocs, &cmd_buffer->pool->alloc, in anv_batch_bo_clone()
318 bbo->length = other_bbo->length; in anv_batch_bo_clone()
319 memcpy(bbo->bo.map, other_bbo->bo.map, other_bbo->length); in anv_batch_bo_clone()
321 *bbo_out = bbo; in anv_batch_bo_clone()
326 anv_bo_pool_free(&cmd_buffer->device->batch_bo_pool, &bbo->bo); in anv_batch_bo_clone()
328 vk_free(&cmd_buffer->pool->alloc, bbo); in anv_batch_bo_clone()
334 anv_batch_bo_start(struct anv_batch_bo *bbo, struct anv_batch *batch, in anv_batch_bo_start() argument
337 batch->next = batch->start = bbo->bo.map; in anv_batch_bo_start()
338 batch->end = bbo->bo.map + bbo->bo.size - batch_padding; in anv_batch_bo_start()
339 batch->relocs = &bbo->relocs; in anv_batch_bo_start()
340 bbo->relocs.num_relocs = 0; in anv_batch_bo_start()
344 anv_batch_bo_continue(struct anv_batch_bo *bbo, struct anv_batch *batch, in anv_batch_bo_continue() argument
347 batch->start = bbo->bo.map; in anv_batch_bo_continue()
348 batch->next = bbo->bo.map + bbo->length; in anv_batch_bo_continue()
349 batch->end = bbo->bo.map + bbo->bo.size - batch_padding; in anv_batch_bo_continue()
350 batch->relocs = &bbo->relocs; in anv_batch_bo_continue()
354 anv_batch_bo_finish(struct anv_batch_bo *bbo, struct anv_batch *batch) in anv_batch_bo_finish() argument
356 assert(batch->start == bbo->bo.map); in anv_batch_bo_finish()
357 bbo->length = batch->next - batch->start; in anv_batch_bo_finish()
358 VG(VALGRIND_CHECK_MEM_IS_DEFINED(batch->start, bbo->length)); in anv_batch_bo_finish()
362 anv_batch_bo_grow(struct anv_cmd_buffer *cmd_buffer, struct anv_batch_bo *bbo, in anv_batch_bo_grow() argument
366 assert(batch->start == bbo->bo.map); in anv_batch_bo_grow()
367 bbo->length = batch->next - batch->start; in anv_batch_bo_grow()
369 size_t new_size = bbo->bo.size; in anv_batch_bo_grow()
370 while (new_size <= bbo->length + aditional + batch_padding) in anv_batch_bo_grow()
373 if (new_size == bbo->bo.size) in anv_batch_bo_grow()
382 memcpy(new_bo.map, bbo->bo.map, bbo->length); in anv_batch_bo_grow()
384 anv_bo_pool_free(&cmd_buffer->device->batch_bo_pool, &bbo->bo); in anv_batch_bo_grow()
386 bbo->bo = new_bo; in anv_batch_bo_grow()
387 anv_batch_bo_continue(bbo, batch, batch_padding); in anv_batch_bo_grow()
393 anv_batch_bo_destroy(struct anv_batch_bo *bbo, in anv_batch_bo_destroy() argument
396 anv_reloc_list_finish(&bbo->relocs, &cmd_buffer->pool->alloc); in anv_batch_bo_destroy()
397 anv_bo_pool_free(&cmd_buffer->device->batch_bo_pool, &bbo->bo); in anv_batch_bo_destroy()
398 vk_free(&cmd_buffer->pool->alloc, bbo); in anv_batch_bo_destroy()
411 list_for_each_entry(struct anv_batch_bo, bbo, list, link) { in anv_batch_bo_list_clone()
413 result = anv_batch_bo_clone(cmd_buffer, bbo, &new_bbo); in anv_batch_bo_list_clone()
425 assert(prev_bbo->relocs.reloc_bos[last_idx] == &bbo->bo); in anv_batch_bo_list_clone()
433 list_for_each_entry_safe(struct anv_batch_bo, bbo, new_list, link) in anv_batch_bo_list_clone()
434 anv_batch_bo_destroy(bbo, cmd_buffer); in anv_batch_bo_list_clone()
491 struct anv_batch_bo *bbo) in cmd_buffer_chain_to_batch_bo() argument
504 emit_batch_buffer_start(cmd_buffer, &bbo->bo, 0); in cmd_buffer_chain_to_batch_bo()
539 struct anv_batch_bo *bbo = anv_cmd_buffer_current_batch_bo(cmd_buffer); in anv_cmd_buffer_grow_batch() local
541 anv_batch_bo_grow(cmd_buffer, bbo, &cmd_buffer->batch, 4096, in anv_cmd_buffer_grow_batch()
751 list_for_each_entry_safe(struct anv_batch_bo, bbo, in anv_cmd_buffer_fini_batch_bo_chain()
753 anv_batch_bo_destroy(bbo, cmd_buffer); in anv_cmd_buffer_fini_batch_bo_chain()
763 struct anv_batch_bo *bbo = anv_cmd_buffer_current_batch_bo(cmd_buffer); in anv_cmd_buffer_reset_batch_bo_chain() local
764 list_del(&bbo->link); in anv_cmd_buffer_reset_batch_bo_chain()
765 anv_batch_bo_destroy(bbo, cmd_buffer); in anv_cmd_buffer_reset_batch_bo_chain()
853 list_for_each_entry(struct anv_batch_bo, bbo, list, link) { in anv_cmd_buffer_add_seen_bbos()
858 *bbo_ptr = bbo; in anv_cmd_buffer_add_seen_bbos()
873 struct anv_batch_bo *bbo = anv_cmd_buffer_current_batch_bo(primary); in anv_cmd_buffer_add_secondary() local
875 anv_batch_bo_grow(primary, bbo, &primary->batch, length, in anv_cmd_buffer_add_secondary()
1280 struct anv_batch_bo **bbo; in relocate_cmd_buffer() local
1281 u_vector_foreach(bbo, &cmd_buffer->seen_bbos) { in relocate_cmd_buffer()
1283 &(*bbo)->relocs, &(*bbo)->bo, false); in relocate_cmd_buffer()
1311 struct anv_batch_bo **bbo; in setup_execbuf_for_cmd_buffer() local
1312 u_vector_foreach(bbo, &cmd_buffer->seen_bbos) { in setup_execbuf_for_cmd_buffer()
1313 adjust_relocations_to_state_pool(ss_pool, &(*bbo)->bo, &(*bbo)->relocs, in setup_execbuf_for_cmd_buffer()
1316 result = anv_execbuf_add_bo(execbuf, &(*bbo)->bo, &(*bbo)->relocs, 0, in setup_execbuf_for_cmd_buffer()
1356 u_vector_foreach(bbo, &cmd_buffer->seen_bbos) in setup_execbuf_for_cmd_buffer()
1357 anv_cmd_buffer_process_relocs(cmd_buffer, &(*bbo)->relocs); in setup_execbuf_for_cmd_buffer()
1363 u_vector_foreach(bbo, &cmd_buffer->seen_bbos) { in setup_execbuf_for_cmd_buffer()
1364 for (uint32_t i = 0; i < (*bbo)->length; i += CACHELINE_SIZE) in setup_execbuf_for_cmd_buffer()
1365 __builtin_ia32_clflush((*bbo)->bo.map + i); in setup_execbuf_for_cmd_buffer()