Lines Matching refs:screen

29  * they all share a common screen (iris_screen).  Global driver state
30 * can be stored in the screen; it may be accessed by multiple threads.
99 struct iris_screen *screen = (struct iris_screen *)pscreen;
101 intel_uuid_compute_device_id((uint8_t *)uuid, &screen->devinfo, PIPE_UUID_SIZE);
107 struct iris_screen *screen = (struct iris_screen *)pscreen;
108 const struct intel_device_info *devinfo = &screen->devinfo;
138 struct iris_screen *screen = (struct iris_screen *)pscreen;
139 const struct intel_device_info *devinfo = &screen->devinfo;
147 iris_get_video_memory(struct iris_screen *screen)
149 uint64_t vram = iris_bufmgr_vram_size(screen->bufmgr);
150 uint64_t sram = iris_bufmgr_sram_size(screen->bufmgr);
162 const struct intel_device_info *devinfo = &screen->devinfo;
189 struct iris_screen *screen = (struct iris_screen *)pscreen;
190 const struct intel_device_info *devinfo = &screen->devinfo;
294 return iris_bufmgr_vram_size(screen->bufmgr) == 0;
364 return screen->pci_id;
366 return iris_get_video_memory(screen);
380 return screen->driconf.disable_throttling ? 0 : 1;
538 struct iris_screen *screen = (struct iris_screen *)pscreen;
539 const struct intel_device_info *devinfo = &screen->devinfo;
616 struct iris_screen *screen = (struct iris_screen *) pscreen;
620 iris_reg_read(screen->bufmgr, TIMESTAMP | 1, &result);
622 result = intel_device_info_timebase_scale(&screen->devinfo, result);
629 iris_screen_destroy(struct iris_screen *screen)
631 iris_destroy_screen_measure(screen);
632 util_queue_destroy(&screen->shader_compiler_queue);
634 iris_bo_unreference(screen->workaround_bo);
635 u_transfer_helper_destroy(screen->base.transfer_helper);
636 iris_bufmgr_unref(screen->bufmgr);
637 disk_cache_destroy(screen->disk_cache);
638 close(screen->winsys_fd);
639 ralloc_free(screen);
659 struct iris_screen *screen = (struct iris_screen *) pscreen;
663 return screen->compiler->nir_options[stage];
669 struct iris_screen *screen = (struct iris_screen *) pscreen;
670 return screen->disk_cache;
742 iris_detect_kernel_features(struct iris_screen *screen)
745 if (intel_gem_supports_syncobj_wait(screen->fd))
746 screen->kernel_features |= KERNEL_HAS_WAIT_FOR_SUBMIT;
750 iris_init_identifier_bo(struct iris_screen *screen)
754 bo_map = iris_bo_map(NULL, screen->workaround_bo, MAP_READ | MAP_WRITE);
758 assert(iris_bo_is_real(screen->workaround_bo));
760 screen->workaround_bo->real.kflags |=
762 screen->workaround_address = (struct iris_address) {
763 .bo = screen->workaround_bo,
768 iris_bo_unmap(screen->workaround_bo);
776 struct iris_screen *screen = rzalloc(NULL, struct iris_screen);
777 if (!screen)
780 if (!intel_get_device_info_from_fd(fd, &screen->devinfo))
782 screen->pci_id = screen->devinfo.pci_device_id;
784 p_atomic_set(&screen->refcount, 1);
786 if (screen->devinfo.ver < 8 || screen->devinfo.platform == INTEL_PLATFORM_CHV)
818 screen->bufmgr = iris_bufmgr_get_for_fd(&screen->devinfo, fd, bo_reuse);
819 if (!screen->bufmgr)
822 screen->fd = iris_bufmgr_get_fd(screen->bufmgr);
823 screen->winsys_fd = os_dupfd_cloexec(fd);
825 screen->id = iris_bufmgr_create_screen_id(screen->bufmgr);
827 screen->workaround_bo =
828 iris_bo_alloc(screen->bufmgr, "workaround", 4096, 4096,
830 if (!screen->workaround_bo)
833 if (!iris_init_identifier_bo(screen))
836 screen->driconf.dual_color_blend_by_location =
838 screen->driconf.disable_throttling =
840 screen->driconf.always_flush_cache =
842 screen->driconf.sync_compile =
844 screen->driconf.limit_trig_input_range =
847 screen->precompile = env_var_as_boolean("shader_precompile", true);
849 isl_device_init(&screen->isl_dev, &screen->devinfo);
851 screen->compiler = brw_compiler_create(screen, &screen->devinfo);
852 screen->compiler->shader_debug_log = iris_shader_debug_log;
853 screen->compiler->shader_perf_log = iris_shader_perf_log;
854 screen->compiler->supports_shader_constants = true;
855 screen->compiler->indirect_ubos_use_sampler = screen->devinfo.ver < 12;
857 screen->l3_config_3d = iris_get_default_l3_config(&screen->devinfo, false);
858 screen->l3_config_cs = iris_get_default_l3_config(&screen->devinfo, true);
860 iris_disk_cache_init(screen);
862 slab_create_parent(&screen->transfer_pool,
865 iris_detect_kernel_features(screen);
867 struct pipe_screen *pscreen = &screen->base;
871 iris_init_screen_measure(screen);
893 genX_call(&screen->devinfo, init_screen_state, screen);
914 if (!util_queue_init(&screen->shader_compiler_queue,
919 iris_screen_destroy(screen);