Lines Matching refs:screen
52 struct lima_screen *screen = lima_screen(pscreen); in lima_screen_destroy() local
54 slab_destroy_parent(&screen->transfer_pool); in lima_screen_destroy()
56 if (screen->ro) in lima_screen_destroy()
57 free(screen->ro); in lima_screen_destroy()
59 if (screen->pp_buffer) in lima_screen_destroy()
60 lima_bo_unreference(screen->pp_buffer); in lima_screen_destroy()
62 lima_bo_cache_fini(screen); in lima_screen_destroy()
63 lima_bo_table_fini(screen); in lima_screen_destroy()
64 ralloc_free(screen); in lima_screen_destroy()
70 struct lima_screen *screen = lima_screen(pscreen); in lima_screen_get_name() local
72 switch (screen->gpu_type) { in lima_screen_get_name()
178 get_vertex_shader_param(struct lima_screen *screen, in get_vertex_shader_param() argument
218 get_fragment_shader_param(struct lima_screen *screen, in get_fragment_shader_param() argument
270 struct lima_screen *screen = lima_screen(pscreen); in lima_screen_get_shader_param() local
274 return get_fragment_shader_param(screen, param); in lima_screen_get_shader_param()
276 return get_vertex_shader_param(screen, param); in lima_screen_get_shader_param()
417 lima_screen_set_plb_max_blk(struct lima_screen *screen) in lima_screen_set_plb_max_blk() argument
420 screen->plb_max_blk = lima_plb_max_blk; in lima_screen_set_plb_max_blk()
424 if (screen->gpu_type == DRM_LIMA_PARAM_GPU_ID_MALI450) in lima_screen_set_plb_max_blk()
425 screen->plb_max_blk = 4096; in lima_screen_set_plb_max_blk()
427 screen->plb_max_blk = 512; in lima_screen_set_plb_max_blk()
431 if (drmGetDevice2(screen->fd, 0, &devinfo)) in lima_screen_set_plb_max_blk()
439 screen->plb_max_blk = 2048; in lima_screen_set_plb_max_blk()
448 lima_screen_query_info(struct lima_screen *screen) in lima_screen_query_info() argument
450 drmVersionPtr version = drmGetVersion(screen->fd); in lima_screen_query_info()
455 screen->has_growable_heap_buffer = true; in lima_screen_query_info()
460 screen->has_growable_heap_buffer = false; in lima_screen_query_info()
466 if (drmIoctl(screen->fd, DRM_IOCTL_LIMA_GET_PARAM, ¶m)) in lima_screen_query_info()
472 screen->gpu_type = param.value; in lima_screen_query_info()
480 if (drmIoctl(screen->fd, DRM_IOCTL_LIMA_GET_PARAM, ¶m)) in lima_screen_query_info()
483 screen->num_pp = param.value; in lima_screen_query_info()
485 lima_screen_set_plb_max_blk(screen); in lima_screen_query_info()
582 struct lima_screen *screen; in lima_screen_create() local
584 screen = rzalloc(NULL, struct lima_screen); in lima_screen_create()
585 if (!screen) in lima_screen_create()
588 screen->fd = fd; in lima_screen_create()
601 if (!lima_screen_query_info(screen)) in lima_screen_create()
604 if (!lima_bo_cache_init(screen)) in lima_screen_create()
607 if (!lima_bo_table_init(screen)) in lima_screen_create()
610 screen->pp_ra = ppir_regalloc_init(screen); in lima_screen_create()
611 if (!screen->pp_ra) in lima_screen_create()
614 screen->pp_buffer = lima_bo_create(screen, pp_buffer_size, 0); in lima_screen_create()
615 if (!screen->pp_buffer) in lima_screen_create()
617 screen->pp_buffer->cacheable = false; in lima_screen_create()
626 memcpy(lima_bo_map(screen->pp_buffer) + pp_clear_program_offset, in lima_screen_create()
636 memcpy(lima_bo_map(screen->pp_buffer) + pp_reload_program_offset, in lima_screen_create()
641 memcpy(lima_bo_map(screen->pp_buffer) + pp_shared_index_offset, in lima_screen_create()
650 memcpy(lima_bo_map(screen->pp_buffer) + pp_clear_gl_pos_offset, in lima_screen_create()
654 uint32_t *pp_frame_rsw = lima_bo_map(screen->pp_buffer) + pp_frame_rsw_offset; in lima_screen_create()
657 pp_frame_rsw[9] = screen->pp_buffer->va + pp_clear_program_offset; in lima_screen_create()
661 screen->ro = renderonly_dup(ro); in lima_screen_create()
662 if (!screen->ro) { in lima_screen_create()
668 screen->base.destroy = lima_screen_destroy; in lima_screen_create()
669 screen->base.get_name = lima_screen_get_name; in lima_screen_create()
670 screen->base.get_vendor = lima_screen_get_vendor; in lima_screen_create()
671 screen->base.get_device_vendor = lima_screen_get_device_vendor; in lima_screen_create()
672 screen->base.get_param = lima_screen_get_param; in lima_screen_create()
673 screen->base.get_paramf = lima_screen_get_paramf; in lima_screen_create()
674 screen->base.get_shader_param = lima_screen_get_shader_param; in lima_screen_create()
675 screen->base.context_create = lima_context_create; in lima_screen_create()
676 screen->base.is_format_supported = lima_screen_is_format_supported; in lima_screen_create()
677 screen->base.get_compiler_options = lima_screen_get_compiler_options; in lima_screen_create()
678 screen->base.query_dmabuf_modifiers = lima_screen_query_dmabuf_modifiers; in lima_screen_create()
680 lima_resource_screen_init(screen); in lima_screen_create()
681 lima_fence_screen_init(screen); in lima_screen_create()
683 slab_create_parent(&screen->transfer_pool, sizeof(struct lima_transfer), 16); in lima_screen_create()
685 screen->refcnt = 1; in lima_screen_create()
687 return &screen->base; in lima_screen_create()
690 lima_bo_unreference(screen->pp_buffer); in lima_screen_create()
692 lima_bo_table_fini(screen); in lima_screen_create()
694 lima_bo_cache_fini(screen); in lima_screen_create()
696 ralloc_free(screen); in lima_screen_create()