Lines Matching refs:screen
77 /* A tile is 4x4 pixels, having 'screen->specs.bits_per_tile' of tile status.
79 * We need N * screen->specs.bits_per_tile / (4 * 4) bits of tile status, or
80 * N * screen->specs.bits_per_tile / (4 * 4 * 8) bytes.
86 struct etna_screen *screen = etna_screen(pscreen);
97 ts_compress_fmt = (screen->specs.v4_compression || rsc->base.nr_samples > 1) ?
103 if (VIV_FEATURE(screen, chipMinorFeatures6, CACHE128B256BPERLINE) &&
110 etna_screen_get_tile_size(screen, ts_mode) *
111 8 / screen->specs.bits_per_tile),
112 0x100 * screen->specs.pixel_pipes);
121 rt_ts = etna_bo_new(screen->dev, rt_ts_size, DRM_ETNA_GEM_CACHE_WC);
142 struct etna_screen *screen = etna_screen(pscreen);
148 MIN2(screen->specs.max_rendertarget_size, screen->specs.max_texture_size);
191 static bool is_rs_align(struct etna_screen *screen,
194 return screen->specs.use_blt ? false : (
195 VIV_FEATURE(screen, chipMinorFeatures1, TEXTURE_HALIGN) ||
204 struct etna_screen *screen = etna_screen(pscreen);
240 etna_layout_multiple(layout, screen->specs.pixel_pipes,
241 is_rs_align (screen, templat),
251 if (!screen->specs.use_blt && templat->target != PIPE_BUFFER && layout == ETNA_LAYOUT_LINEAR)
259 rsc->base.screen = pscreen;
270 if (unlikely(templat->bind & PIPE_BIND_SCANOUT) && screen->ro) {
278 screen->ro, &handle);
296 rsc->bo = etna_bo_new(screen->dev, size, flags);
321 struct etna_screen *screen = etna_screen(pscreen);
336 if (screen->specs.pixel_pipes > 1 && !screen->specs.single_buffer)
338 if (screen->specs.can_supertile)
340 } else if (screen->specs.can_supertile &&
341 VIV_FEATURE(screen, chipMinorFeatures2, SUPERTILED_TEXTURE) &&
342 etna_resource_hw_tileable(screen->specs.use_blt, templat)) {
377 select_best_modifier(const struct etna_screen * screen,
385 if ((screen->specs.pixel_pipes > 1 && !screen->specs.single_buffer) ||
386 !screen->specs.can_supertile)
391 if (screen->specs.pixel_pipes > 1 && !screen->specs.single_buffer)
396 if ((screen->specs.pixel_pipes < 2) || !screen->specs.can_supertile)
401 if (screen->specs.pixel_pipes < 2)
422 struct etna_screen *screen = etna_screen(pscreen);
424 uint64_t modifier = select_best_modifier(screen, modifiers, count);
468 struct etna_screen *screen = etna_screen(pscreen);
490 prsc->screen = pscreen;
511 etna_layout_multiple(rsc->layout, screen->specs.pixel_pipes,
512 is_rs_align(screen, tmpl),
515 if (!screen->specs.use_blt && rsc->layout == ETNA_LAYOUT_LINEAR)
540 if (screen->ro) {
544 renderonly_create_gpu_import_for_resource(imp_prsc, screen->ro,
564 struct etna_screen *screen = etna_screen(pscreen);
592 if (screen->ro) {