Lines Matching defs:shrink
1387 static void kgem_fixup_relocs(struct kgem *kgem, struct kgem_bo *bo, int shrink)
1412 kgem->reloc[i].delta - shrink));
1414 kgem->reloc[i].delta -= shrink;
1430 kgem->reloc[n].delta - shrink));
1431 kgem->reloc[n].delta -= shrink;
1439 if (shrink) {
1440 DBG(("%s: shrinking by %d\n", __FUNCTION__, shrink));
1443 kgem->reloc[n].offset -= shrink;
3059 struct kgem_bo *shrink;
3062 shrink = search_snoop_cache(kgem, alloc,
3064 if (shrink) {
3070 bo->used, bytes(&bo->base), bytes(shrink),
3071 bo->base.handle, shrink->handle));
3073 assert(bo->used <= bytes(shrink));
3074 map = kgem_bo_map__cpu(kgem, shrink);
3076 kgem_bo_sync__cpu(kgem, shrink);
3079 shrink->target_handle =
3080 kgem->has_handle_lut ? bo->base.target_handle : shrink->handle;
3083 kgem->reloc[n].target_handle = shrink->target_handle;
3084 kgem->reloc[n].presumed_offset = shrink->presumed_offset;
3086 kgem->reloc[n].delta + shrink->presumed_offset;
3090 bo->base.exec->handle = shrink->handle;
3091 bo->base.exec->offset = shrink->presumed_offset;
3092 shrink->exec = bo->base.exec;
3093 shrink->rq = bo->base.rq;
3095 &shrink->request);
3097 shrink->needs_flush = bo->base.gpu_dirty;
3108 __kgem_bo_destroy(kgem, shrink);
3111 shrink = search_linear_cache(kgem, alloc,
3113 if (shrink) {
3118 bo->used, bytes(&bo->base), bytes(shrink),
3119 bo->base.handle, shrink->handle));
3121 assert(bo->used <= bytes(shrink));
3122 if (gem_write__cachealigned(kgem->fd, shrink->handle,
3124 shrink->target_handle =
3125 kgem->has_handle_lut ? bo->base.target_handle : shrink->handle;
3128 kgem->reloc[n].target_handle = shrink->target_handle;
3129 kgem->reloc[n].presumed_offset = shrink->presumed_offset;
3131 kgem->reloc[n].delta + shrink->presumed_offset;
3135 bo->base.exec->handle = shrink->handle;
3136 bo->base.exec->offset = shrink->presumed_offset;
3137 shrink->exec = bo->base.exec;
3138 shrink->rq = bo->base.rq;
3140 &shrink->request);
3142 shrink->needs_flush = bo->base.gpu_dirty;
3153 __kgem_bo_destroy(kgem, shrink);
3359 static int compact_batch_surface(struct kgem *kgem, int *shrink)
3371 *shrink = (n - size) * sizeof(uint32_t);
3381 int shrink = 0;
3385 size = compact_batch_surface(kgem, &shrink);
3470 kgem_fixup_relocs(kgem, bo, shrink);