Lines Matching refs:base
130 util_idalloc_mt_free(&screen->buffer_ids, res->base.buffer_id_unique);
849 unsigned num_dmabuf_planes = screen->base.get_dmabuf_modifier_planes(&screen->base, obj->modifier, templ->format);
1027 obj->coherent = obj->bo->base.placement & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
1029 obj->host_visible = obj->bo->base.placement & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
1108 res->base.b = *templ;
1110 threaded_resource_init(&res->base.b, false);
1111 pipe_reference_init(&res->base.b.reference, 1);
1112 res->base.b.screen = pscreen;
1120 res->base.b.flags &= ~PIPE_RESOURCE_FLAG_SPARSE;
1132 res->base.b.bind |= PIPE_BIND_SHADER_IMAGE;
1141 res->base.b.flags |= PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY;
1145 res->base.b.bind |= PIPE_BIND_SHADER_IMAGE;
1149 res->base.b.nr_sparse_levels = res->sparse.imageMipTailFirstLod;
1167 res->base.b.bind,
1168 res->base.b.format,
1188 res->base.b.bind |= PIPE_BIND_DISPLAY_TARGET;
1193 res->base.b.flags |= PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY;
1195 res->base.buffer_id_unique = util_idalloc_mt_alloc(&screen->buffer_ids);
1203 res->base.b.bind |= ZINK_BIND_DMABUF;
1204 return &res->base.b;
1232 struct zink_screen *screen = zink_screen(ctx->base.screen);
1233 assert((res->base.b.bind & bind) == 0);
1235 res->base.b.bind |= bind;
1238 res->modifiers_count = screen->modifier_props[res->base.b.format].drmFormatModifierCount;
1240 for (unsigned i = 0; i < screen->modifier_props[res->base.b.format].drmFormatModifierCount; i++)
1241 res->modifiers[i] = screen->modifier_props[res->base.b.format].pDrmFormatModifierProperties[i].drmFormatModifier;
1243 struct zink_resource_object *new_obj = resource_object_create(screen, &res->base.b, NULL, &res->optimal_tiling, res->modifiers, res->modifiers_count, NULL);
1246 res->base.b.bind &= ~bind;
1262 for (unsigned i = 0; i <= res->base.b.last_level; i++) {
1264 u_minify(res->base.b.width0, i),
1265 u_minify(res->base.b.height0, i), res->base.b.array_size};
1266 box.depth = util_num_layers(&res->base.b, i);
1267 ctx->base.resource_copy_region(&ctx->base, &res->base.b, i, 0, 0, 0, &staging.base.b, i, &box);
1356 if (res->base.b.target == PIPE_TEXTURE_3D)
1415 if (!(res->base.b.bind & PIPE_BIND_SHARED))
1420 screen->copy_context->base.flush(&screen->copy_context->base, NULL, 0);
1572 struct zink_screen *screen = zink_screen(ctx->base.screen);
1574 assert(res->base.b.target == PIPE_BUFFER);
1576 if (res->base.b.flags & PIPE_RESOURCE_FLAG_SPARSE)
1592 struct zink_resource_object *new_obj = resource_object_create(screen, &res->base.b, NULL, NULL, NULL, 0, NULL);
1625 assert((trans->base.b.usage & (PIPE_MAP_DEPTH_ONLY | PIPE_MAP_STENCIL_ONLY)) !=
1628 bool buf2img = src->base.b.target == PIPE_BUFFER;
1630 struct pipe_box box = trans->base.b.box;
1636 zink_copy_image_buffer(ctx, dst, src, trans->base.b.level, buf2img ? x : 0,
1637 box.y, box.z, trans->base.b.level, &box, trans->base.b.usage);
1639 util_blitter_copy_texture(ctx->blitter, &dst->base.b, trans->base.b.level,
1640 x, box.y, box.z, &src->base.b,
1702 pipe_resource_reference(&trans->base.b.resource, pres);
1704 trans->base.b.usage = usage;
1705 trans->base.b.box = *box;
1712 if (trans->base.b.usage & PIPE_MAP_THREAD_SAFE) {
1739 if (res->base.is_user_ptr)
1745 usage & PIPE_MAP_WRITE && !res->base.is_shared &&
1751 if (usage & PIPE_MAP_DISCARD_RANGE && box->x == 0 && box->width == res->base.b.width0) {
1761 res->base.b.flags & PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY) {
1799 mgr = ctx->tc->base.stream_uploader;
1801 mgr = ctx->base.stream_uploader;
1821 (((usage & PIPE_MAP_READ) && !(usage & PIPE_MAP_PERSISTENT) && res->base.b.usage != PIPE_USAGE_STAGING) || !res->obj->host_visible)) {
1825 trans->staging_res = pipe_buffer_create(&screen->base, PIPE_BIND_LINEAR, PIPE_USAGE_STAGING, box->width + trans->offset);
1836 trans->staging_res = pipe_buffer_create(&screen->base, PIPE_BIND_LINEAR, PIPE_USAGE_STAGING, box->width + trans->offset);
1885 trans->base.b.usage = usage;
1887 util_range_add(&res->base.b, &res->valid_buffer_range, box->x, box->x + box->width);
1892 *transfer = &trans->base.b;
1915 trans->base.b.level = level;
1933 trans->base.b.stride = util_format_get_stride(format, box->width);
1934 trans->base.b.layer_stride = util_format_get_2d_size(format,
1935 trans->base.b.stride,
1944 templ.width0 = trans->base.b.layer_stride * box->depth;
1984 trans->base.b.stride = srl.rowPitch;
1985 if (res->base.b.target == PIPE_TEXTURE_3D)
1986 trans->base.b.layer_stride = srl.depthPitch;
1988 trans->base.b.layer_stride = srl.arrayPitch;
1991 const struct util_format_description *desc = util_format_description(res->base.b.format);
2014 trans->base.b.usage |= ZINK_MAP_TEMPORARY;
2018 *transfer = &trans->base.b;
2035 if (trans->base.b.usage & PIPE_MAP_WRITE) {
2045 size = (VkDeviceSize)box->width * box->height * util_format_get_blocksize(m->base.b.format);
2048 util_format_get_2d_size(m->base.b.format, trans->base.b.stride, box->y) +
2049 util_format_get_stride(m->base.b.format, box->x);
2076 if (!(trans->base.b.usage & (PIPE_MAP_FLUSH_EXPLICIT | PIPE_MAP_COHERENT))) {
2083 if ((trans->base.b.usage & PIPE_MAP_PERSISTENT) && !(trans->base.b.usage & PIPE_MAP_COHERENT))
2088 pipe_resource_reference(&trans->base.b.resource, NULL);
2098 res = zink_resource(trans->base.b.resource);
2107 if (trans->base.b.usage & PIPE_MAP_ONCE && !trans->staging_res)
2160 /* base resource already has the cap */
2161 if (res->base.b.bind & PIPE_BIND_SHADER_IMAGE)
2168 zink_fb_clears_apply_region(ctx, &res->base.b, (struct u_rect){0, res->base.b.width0, 0, res->base.b.height0});