Lines Matching refs:screen
393 * screen::aux_context and the current context. If applications do this with
412 struct si_screen *sscreen = sctx->screen;
430 struct pipe_screen *screen = sctx->b.screen;
445 if (si_choose_tiling(sctx->screen, &templ, false) != RADEON_SURF_MODE_LINEAR_ALIGNED)
449 new_tex = (struct si_texture *)screen->resource_create(screen, &templ);
467 si_texture_discard_cmask(sctx->screen, tex);
468 si_texture_discard_dcc(sctx->screen, tex);
473 radeon_bo_reference(sctx->screen->ws, &tex->buffer.buf, new_tex->buffer.buf);
527 p_atomic_inc(&sctx->screen->dirty_tex_counter);
558 struct si_screen *sscreen = (struct si_screen *)tex->buffer.b.b.screen;
571 static bool si_resource_get_param(struct pipe_screen *screen, struct pipe_context *context,
582 struct si_screen *sscreen = (struct si_screen *)screen;
630 if (!screen->resource_get_handle(screen, context, resource, &whandle, handle_usage))
641 static void si_texture_get_info(struct pipe_screen *screen, struct pipe_resource *resource,
647 si_resource_get_param(screen, NULL, resource, 0, 0, 0, PIPE_RESOURCE_PARAM_STRIDE, 0, &value);
652 si_resource_get_param(screen, NULL, resource, 0, 0, 0, PIPE_RESOURCE_PARAM_OFFSET, 0, &value);
657 static bool si_texture_get_handle(struct pipe_screen *screen, struct pipe_context *ctx,
661 struct si_screen *sscreen = (struct si_screen *)screen;
777 struct pipe_resource *newb = screen->resource_create(screen, &templ);
801 si_texture_get_info(screen, resource, &stride, &offset);
904 * \param screen screen
913 static struct si_texture *si_texture_create_object(struct pipe_screen *screen,
923 struct si_screen *sscreen = (struct si_screen *)screen;
940 resource->b.b.screen = screen;
1239 si_texture_create_with_modifier(struct pipe_screen *screen,
1243 struct si_screen *sscreen = (struct si_screen *)screen;
1318 si_texture_create_object(screen, &plane_templ[i], &surface[i], plane0, NULL,
1339 struct pipe_resource *si_texture_create(struct pipe_screen *screen,
1342 return si_texture_create_with_modifier(screen, templ, DRM_FORMAT_MOD_INVALID);
1389 static void si_query_dmabuf_modifiers(struct pipe_screen *screen,
1396 struct si_screen *sscreen = (struct si_screen *)screen;
1414 si_is_dmabuf_modifier_supported(struct pipe_screen *screen,
1420 si_query_dmabuf_modifiers(screen, format, 0, NULL, NULL, &allowed_mod_count);
1435 si_query_dmabuf_modifiers(screen, format, allowed_mod_count, allowed_modifiers,
1472 si_modifier_supports_resource(struct pipe_screen *screen,
1476 struct si_screen *sscreen = (struct si_screen *)screen;
1484 si_texture_create_with_modifiers(struct pipe_screen *screen,
1494 si_query_dmabuf_modifiers(screen, templ->format, 0, NULL, NULL, &allowed_mod_count);
1502 si_query_dmabuf_modifiers(screen, templ->format, allowed_mod_count, allowed_modifiers, NULL, &allowed_mod_count);
1512 if (modifiers[j] == allowed_modifiers[i] && si_modifier_supports_resource(screen, modifiers[j], templ))
1526 return si_texture_create_with_modifier(screen, templ, modifier);
1653 static struct pipe_resource *si_texture_from_handle(struct pipe_screen *screen,
1657 struct si_screen *sscreen = (struct si_screen *)screen;
1682 tex->b.b.screen = screen;
1742 (struct si_texture *)ctx->screen->resource_create(ctx->screen, &resource);
1805 struct si_screen *sscreen = sctx->screen;
1853 if (!sctx->screen->info.has_dedicated_vram && real_level == 0 && box->width >= 4 &&
1855 bool can_invalidate = si_can_invalidate_texture(sctx->screen, tex, usage, box);
1873 (tex->buffer.domains & RADEON_DOMAIN_VRAM && sctx->screen->info.has_dedicated_vram &&
1874 !sctx->screen->info.smart_access_memory))
1883 if (si_can_invalidate_texture(sctx->screen, tex, usage, box))
1915 staging = (struct si_texture *)ctx->screen->resource_create(ctx->screen, &resource);
1923 si_texture_get_offset(sctx->screen, staging, 0, NULL, &trans->b.b.stride,
1934 offset = si_texture_get_offset(sctx->screen, tex, real_level, box, &trans->b.b.stride,
1995 if (sctx->num_alloc_tex_transfer_bytes > (uint64_t)sctx->screen->info.gart_size_kb * 1024 / 4) {
2070 !vi_dcc_formats_compatible((struct si_screen *)tex->screen, tex->format, view_format);
2211 si_memobj_from_handle(struct pipe_screen *screen, struct winsys_handle *whandle, bool dedicated)
2213 struct si_screen *sscreen = (struct si_screen *)screen;
2233 static void si_memobj_destroy(struct pipe_screen *screen, struct pipe_memory_object *_memobj)
2237 radeon_bo_reference(((struct si_screen*)screen)->ws, &memobj->buf, NULL);
2241 static struct pipe_resource *si_resource_from_memobj(struct pipe_screen *screen,
2246 struct si_screen *sscreen = (struct si_screen *)screen;
2251 res = si_buffer_from_winsys_buffer(screen, templ, memobj->buf, offset);
2270 static bool si_check_resource_capability(struct pipe_screen *screen, struct pipe_resource *resource,
2289 static int si_get_sparse_texture_virtual_page_size(struct pipe_screen *screen,
2296 struct si_screen *sscreen = (struct si_screen *)screen;