Lines Matching refs:views
193 pan_blitter_is_ms(struct pan_blitter_views *views) in pan_blitter_is_ms() argument
195 for (unsigned i = 0; i < views->rt_count; i++) { in pan_blitter_is_ms()
196 if (views->dst_rts[i]) { in pan_blitter_is_ms()
197 if (views->dst_rts[i]->image->layout.nr_samples > 1) in pan_blitter_is_ms()
202 if (views->dst_z && views->dst_z->image->layout.nr_samples > 1) in pan_blitter_is_ms()
205 if (views->dst_s && views->dst_s->image->layout.nr_samples > 1) in pan_blitter_is_ms()
215 struct pan_blitter_views *views, in pan_blitter_emit_blends() argument
219 for (unsigned i = 0; i < MAX2(views->rt_count, 1); ++i) { in pan_blitter_emit_blends()
221 const struct pan_image_view *rt_view = views->dst_rts[i]; in pan_blitter_emit_blends()
234 struct pan_blitter_views *views, in pan_blitter_emit_rsd() argument
238 UNUSED bool zs = (views->dst_z || views->dst_s); in pan_blitter_emit_rsd()
239 bool ms = pan_blitter_is_ms(views); in pan_blitter_emit_rsd()
248 cfg.multisample_misc.depth_write_mask = views->dst_z != NULL; in pan_blitter_emit_rsd()
251 cfg.stencil_mask_misc.stencil_enable = views->dst_s != NULL; in pan_blitter_emit_rsd()
286 panfrost_last_nonnull(blend_shaders, MAX2(views->rt_count, 1)) : 0; in pan_blitter_emit_rsd()
310 if (views->dst_rts[0] != NULL) { in pan_blitter_emit_rsd()
312 util_format_is_srgb(views->dst_rts[0]->format); in pan_blitter_emit_rsd()
321 pan_blitter_emit_blends(dev, blit_shader, views, blend_shaders, in pan_blitter_emit_rsd()
651 pan_blitter_get_key(struct pan_blitter_views *views) in pan_blitter_get_key() argument
655 if (views->src_z) { in pan_blitter_get_key()
656 assert(views->dst_z); in pan_blitter_get_key()
659 key.surfaces[0].src_samples = views->src_z->image->layout.nr_samples; in pan_blitter_get_key()
660 key.surfaces[0].dst_samples = views->dst_z->image->layout.nr_samples; in pan_blitter_get_key()
661 key.surfaces[0].dim = views->src_z->dim; in pan_blitter_get_key()
662 key.surfaces[0].array = views->src_z->first_layer != views->src_z->last_layer; in pan_blitter_get_key()
665 if (views->src_s) { in pan_blitter_get_key()
666 assert(views->dst_s); in pan_blitter_get_key()
669 key.surfaces[1].src_samples = views->src_s->image->layout.nr_samples; in pan_blitter_get_key()
670 key.surfaces[1].dst_samples = views->dst_s->image->layout.nr_samples; in pan_blitter_get_key()
671 key.surfaces[1].dim = views->src_s->dim; in pan_blitter_get_key()
672 key.surfaces[1].array = views->src_s->first_layer != views->src_s->last_layer; in pan_blitter_get_key()
675 for (unsigned i = 0; i < views->rt_count; i++) { in pan_blitter_get_key()
676 if (!views->src_rts[i]) in pan_blitter_get_key()
679 assert(views->dst_rts[i]); in pan_blitter_get_key()
682 util_format_is_pure_uint(views->src_rts[i]->format) ? nir_type_uint32 : in pan_blitter_get_key()
683 util_format_is_pure_sint(views->src_rts[i]->format) ? nir_type_int32 : in pan_blitter_get_key()
685 key.surfaces[i].src_samples = views->src_rts[i]->image->layout.nr_samples; in pan_blitter_get_key()
686 key.surfaces[i].dst_samples = views->dst_rts[i]->image->layout.nr_samples; in pan_blitter_get_key()
687 key.surfaces[i].dim = views->src_rts[i]->dim; in pan_blitter_get_key()
688 … key.surfaces[i].array = views->src_rts[i]->first_layer != views->src_rts[i]->last_layer; in pan_blitter_get_key()
697 struct pan_blitter_views *views) in pan_blitter_get_rsd() argument
701 assert(!views->rt_count || (!views->src_z && !views->src_s)); in pan_blitter_get_rsd()
703 struct pan_blit_shader_key blit_key = pan_blitter_get_key(views); in pan_blitter_get_rsd()
705 if (views->src_z) { in pan_blitter_get_rsd()
706 assert(views->dst_z); in pan_blitter_get_rsd()
707 rsd_key.z.format = views->dst_z->format; in pan_blitter_get_rsd()
715 if (views->src_s) { in pan_blitter_get_rsd()
716 assert(views->dst_s); in pan_blitter_get_rsd()
717 rsd_key.s.format = views->dst_s->format; in pan_blitter_get_rsd()
725 for (unsigned i = 0; i < views->rt_count; i++) { in pan_blitter_get_rsd()
726 if (!views->src_rts[i]) in pan_blitter_get_rsd()
729 assert(views->dst_rts[i]); in pan_blitter_get_rsd()
730 rsd_key.rts[i].format = views->dst_rts[i]->format; in pan_blitter_get_rsd()
748 unsigned bd_count = PAN_ARCH >= 5 ? MAX2(views->rt_count, 1) : 0; in pan_blitter_get_rsd()
759 pan_blitter_get_blend_shaders(dev, views->rt_count, views->dst_rts, in pan_blitter_get_rsd()
762 pan_blitter_emit_rsd(dev, blit_shader, views, blend_shaders, in pan_blitter_get_rsd()
780 struct pan_blitter_views views = { }; in pan_blit_get_rsd() local
783 views.src_z = &src_views[0]; in pan_blit_get_rsd()
784 views.dst_z = dst_view; in pan_blit_get_rsd()
788 views.src_s = &src_views[1]; in pan_blit_get_rsd()
789 views.dst_s = dst_view; in pan_blit_get_rsd()
791 views.src_s = &src_views[0]; in pan_blit_get_rsd()
792 views.dst_s = dst_view; in pan_blit_get_rsd()
795 if (!views.src_z && !views.src_s) { in pan_blit_get_rsd()
796 views.rt_count = 1; in pan_blit_get_rsd()
797 views.src_rts[0] = src_views; in pan_blit_get_rsd()
798 views.dst_rts[0] = dst_view; in pan_blit_get_rsd()
801 return pan_blitter_get_rsd(dev, &views); in pan_blit_get_rsd()
808 struct pan_blitter_views views = { 0 }; in pan_preload_get_views() local
812 views.src_z = views.dst_z = fb->zs.view.zs; in pan_preload_get_views()
827 views.src_s = views.dst_s = patched_s; in pan_preload_get_views()
829 views.src_s = views.dst_s = view; in pan_preload_get_views()
835 views.src_rts[i] = fb->rts[i].view; in pan_preload_get_views()
836 views.dst_rts[i] = fb->rts[i].view; in pan_preload_get_views()
840 views.rt_count = fb->rt_count; in pan_preload_get_views()
843 return views; in pan_preload_get_views()
936 const struct pan_image_view **views) in pan_blitter_emit_textures() argument
945 GENX(panfrost_estimate_texture_payload_size)(views[i]); in pan_blitter_emit_textures()
949 GENX(panfrost_new_texture)(pool->dev, views[i], texture, &surfaces); in pan_blitter_emit_textures()
958 GENX(panfrost_estimate_texture_payload_size)(views[i]); in pan_blitter_emit_textures()
966 GENX(panfrost_new_texture)(pool->dev, views[i], texture.cpu, &surfaces); in pan_blitter_emit_textures()
981 const struct pan_image_view *views[8]; in pan_preload_emit_textures() local
987 views[tex_count++] = fb->zs.view.zs; in pan_preload_emit_textures()
1004 views[tex_count++] = view; in pan_preload_emit_textures()
1009 views[tex_count++] = fb->rts[i].view; in pan_preload_emit_textures()
1016 return pan_blitter_emit_textures(pool, tex_count, views); in pan_preload_emit_textures()
1096 struct pan_blitter_views views = pan_preload_get_views(fb, zs, &patched_s); in pan_preload_emit_dcd() local
1114 cfg.state = pan_blitter_get_rsd(pool->dev, &views); in pan_preload_emit_dcd()
1144 struct pan_blit_shader_key key = pan_blitter_get_key(&views); in pan_preload_emit_dcd()
1150 bool ms = pan_blitter_is_ms(&views); in pan_preload_emit_dcd()
1161 unsigned bd_count = views.rt_count; in pan_preload_emit_dcd()
1166 pan_blitter_get_blend_shaders(pool->dev, views.rt_count, views.dst_rts, in pan_preload_emit_dcd()
1169 pan_blitter_emit_blends(pool->dev, blit_shader, &views, blend_shaders, in pan_preload_emit_dcd()