Lines Matching refs:screen

53    struct lima_screen *screen = lima_screen(pscreen);
55 slab_destroy_parent(&screen->transfer_pool);
57 if (screen->ro)
58 screen->ro->destroy(screen->ro);
60 if (screen->pp_buffer)
61 lima_bo_unreference(screen->pp_buffer);
63 lima_bo_cache_fini(screen);
64 lima_bo_table_fini(screen);
65 disk_cache_destroy(screen->disk_cache);
66 ralloc_free(screen);
72 struct lima_screen *screen = lima_screen(pscreen);
74 switch (screen->gpu_type) {
209 get_vertex_shader_param(struct lima_screen *screen,
248 get_fragment_shader_param(struct lima_screen *screen,
302 struct lima_screen *screen = lima_screen(pscreen);
306 return get_fragment_shader_param(screen, param);
308 return get_vertex_shader_param(screen, param);
456 lima_screen_set_plb_max_blk(struct lima_screen *screen)
459 screen->plb_max_blk = lima_plb_max_blk;
463 if (screen->gpu_type == DRM_LIMA_PARAM_GPU_ID_MALI450)
464 screen->plb_max_blk = 4096;
466 screen->plb_max_blk = 512;
470 if (drmGetDevice2(screen->fd, 0, &devinfo))
478 screen->plb_max_blk = 2048;
487 lima_screen_query_info(struct lima_screen *screen)
489 drmVersionPtr version = drmGetVersion(screen->fd);
494 screen->has_growable_heap_buffer = true;
499 screen->has_growable_heap_buffer = false;
505 if (drmIoctl(screen->fd, DRM_IOCTL_LIMA_GET_PARAM, &param))
511 screen->gpu_type = param.value;
519 if (drmIoctl(screen->fd, DRM_IOCTL_LIMA_GET_PARAM, &param))
522 screen->num_pp = param.value;
524 lima_screen_set_plb_max_blk(screen);
649 struct lima_screen *screen = lima_screen(pscreen);
651 return screen->disk_cache;
658 struct lima_screen *screen;
660 screen = rzalloc(NULL, struct lima_screen);
661 if (!screen)
664 screen->fd = fd;
665 screen->ro = ro;
678 if (!lima_screen_query_info(screen))
681 if (!lima_bo_cache_init(screen))
684 if (!lima_bo_table_init(screen))
687 screen->pp_ra = ppir_regalloc_init(screen);
688 if (!screen->pp_ra)
691 screen->pp_buffer = lima_bo_create(screen, pp_buffer_size, 0);
692 if (!screen->pp_buffer)
694 screen->pp_buffer->cacheable = false;
703 memcpy(lima_bo_map(screen->pp_buffer) + pp_clear_program_offset,
713 memcpy(lima_bo_map(screen->pp_buffer) + pp_reload_program_offset,
718 memcpy(lima_bo_map(screen->pp_buffer) + pp_shared_index_offset,
727 memcpy(lima_bo_map(screen->pp_buffer) + pp_clear_gl_pos_offset,
731 uint32_t *pp_frame_rsw = lima_bo_map(screen->pp_buffer) + pp_frame_rsw_offset;
734 pp_frame_rsw[9] = screen->pp_buffer->va + pp_clear_program_offset;
737 screen->base.destroy = lima_screen_destroy;
738 screen->base.get_name = lima_screen_get_name;
739 screen->base.get_vendor = lima_screen_get_vendor;
740 screen->base.get_device_vendor = lima_screen_get_device_vendor;
741 screen->base.get_param = lima_screen_get_param;
742 screen->base.get_paramf = lima_screen_get_paramf;
743 screen->base.get_shader_param = lima_screen_get_shader_param;
744 screen->base.context_create = lima_context_create;
745 screen->base.is_format_supported = lima_screen_is_format_supported;
746 screen->base.get_compiler_options = lima_screen_get_compiler_options;
747 screen->base.query_dmabuf_modifiers = lima_screen_query_dmabuf_modifiers;
748 screen->base.is_dmabuf_modifier_supported = lima_screen_is_dmabuf_modifier_supported;
749 screen->base.get_disk_shader_cache = lima_get_disk_shader_cache;
751 lima_resource_screen_init(screen);
752 lima_fence_screen_init(screen);
753 lima_disk_cache_init(screen);
755 slab_create_parent(&screen->transfer_pool, sizeof(struct lima_transfer), 16);
757 screen->refcnt = 1;
759 return &screen->base;
762 lima_bo_table_fini(screen);
764 lima_bo_cache_fini(screen);
766 ralloc_free(screen);