Lines Matching refs:screen

81         struct vc4_screen *screen = vc4_screen(pscreen);
83 if (!screen->name) {
84 screen->name = ralloc_asprintf(screen,
86 screen->v3d_ver / 10,
87 screen->v3d_ver % 10);
90 return screen->name;
102 struct vc4_screen *screen = vc4_screen(pscreen);
104 _mesa_hash_table_destroy(screen->bo_handles, NULL);
106 slab_destroy_parent(&screen->transfer_pool);
107 if (screen->ro)
108 screen->ro->destroy(screen->ro);
111 vc4_simulator_destroy(screen);
116 close(screen->fd);
121 vc4_has_feature(struct vc4_screen *screen, uint32_t feature)
126 int ret = vc4_ioctl(screen->fd, DRM_IOCTL_VC4_GET_PARAM, &p);
137 struct vc4_screen *screen = vc4_screen(pscreen);
153 return screen->has_syncobj;
156 return vc4_has_feature(screen,
206 return screen->prim_types;
333 struct vc4_screen *screen = vc4_screen(pscreen);
404 (format == PIPE_FORMAT_ETC1_RGB8 && !screen->has_etc1))) {
425 struct vc4_screen *screen = vc4_screen(pscreen);
436 if (screen->has_tiling_ioctl) {
499 vc4_get_chip_info(struct vc4_screen *screen)
509 ret = vc4_ioctl(screen->fd, DRM_IOCTL_VC4_GET_PARAM, &ident0);
515 screen->v3d_ver = 21;
523 ret = vc4_ioctl(screen->fd, DRM_IOCTL_VC4_GET_PARAM, &ident1);
532 screen->v3d_ver = major * 10 + minor;
534 if (screen->v3d_ver != 21 && screen->v3d_ver != 26) {
537 screen->v3d_ver / 10,
538 screen->v3d_ver % 10);
548 struct vc4_screen *screen = rzalloc(NULL, struct vc4_screen);
553 pscreen = &screen->base;
562 screen->fd = fd;
563 screen->ro = ro;
565 list_inithead(&screen->bo_cache.time_list);
566 (void) mtx_init(&screen->bo_handles_mutex, mtx_plain);
567 screen->bo_handles = util_hash_table_create_ptr_keys();
569 screen->has_control_flow =
570 vc4_has_feature(screen, DRM_VC4_PARAM_SUPPORTS_BRANCHES);
571 screen->has_etc1 =
572 vc4_has_feature(screen, DRM_VC4_PARAM_SUPPORTS_ETC1);
573 screen->has_threaded_fs =
574 vc4_has_feature(screen, DRM_VC4_PARAM_SUPPORTS_THREADED_FS);
575 screen->has_madvise =
576 vc4_has_feature(screen, DRM_VC4_PARAM_SUPPORTS_MADVISE);
577 screen->has_perfmon_ioctl =
578 vc4_has_feature(screen, DRM_VC4_PARAM_SUPPORTS_PERFMON);
582 screen->has_syncobj = true;
584 if (!vc4_get_chip_info(screen))
587 slab_create_parent(&screen->transfer_pool, sizeof(struct vc4_transfer), 16);
589 vc4_fence_screen_init(screen);
594 vc4_simulator_init(screen);
606 if (screen->has_perfmon_ioctl) {
612 screen->prim_types = BITFIELD_BIT(PIPE_PRIM_POINTS) |