Lines Matching refs:screen
59 dri_init_options(struct dri_screen *screen)
61 pipe_loader_config_options(screen->dev);
63 struct st_config_options *options = &screen->options;
64 const struct driOptionCache *optionCache = &screen->dev->option_cache;
70 dri_loader_get_cap(struct dri_screen *screen, enum dri_loader_cap cap)
72 const __DRIdri2LoaderExtension *dri2_loader = screen->sPriv->dri2.loader;
73 const __DRIimageLoaderExtension *image_loader = screen->sPriv->image.loader;
77 return dri2_loader->getCapability(screen->sPriv->loaderPrivate, cap);
81 return image_loader->getCapability(screen->sPriv->loaderPrivate, cap);
378 dri_fill_in_modes(struct dri_screen *screen)
444 struct pipe_screen *p_screen = screen->base.screen;
456 if (driQueryOptionb(&screen->dev->option_cache, "always_have_depth_buffer")) {
466 allow_rgba_ordering = dri_loader_get_cap(screen, DRI_LOADER_CAP_RGBA_ORDERING);
467 allow_rgb10 = driQueryOptionb(&screen->dev->option_cache, "allow_rgb10_configs");
468 allow_fp16 = dri_loader_get_cap(screen, DRI_LOADER_CAP_FP16);
470 msaa_samples_max = (screen->st_api->feature_mask & ST_API_FEATURE_MS_VISUALS_MASK)
499 screen->d_depth_bits_last = pf_x8z24;
504 screen->sd_depth_bits_last = pf_s8z24;
594 const struct dri_screen *screen,
685 stvis->depth_stencil_format = (screen->d_depth_bits_last) ?
689 stvis->depth_stencil_format = (screen->sd_depth_bits_last) ?
722 struct dri_screen *screen = (struct dri_screen *)smapi;
726 if (screen->lookup_egl_image_validated) {
727 img = screen->lookup_egl_image_validated(screen, egl_image);
728 } else if (screen->lookup_egl_image) {
729 img = screen->lookup_egl_image(screen, egl_image);
762 struct dri_screen *screen = (struct dri_screen *)smapi;
764 return screen->validate_egl_image(screen, egl_image);
775 dri_destroy_screen_helper(struct dri_screen * screen)
777 if (screen->base.destroy)
778 screen->base.destroy(&screen->base);
780 if (screen->st_api && screen->st_api->destroy)
781 screen->st_api->destroy(screen->st_api);
783 if (screen->base.screen)
784 screen->base.screen->destroy(screen->base.screen);
786 mtx_destroy(&screen->opencl_func_mutex);
792 struct dri_screen *screen = dri_screen(sPriv);
794 dri_destroy_screen_helper(screen);
796 pipe_loader_release(&screen->dev, 1);
798 free(screen->options.force_gl_vendor);
799 free(screen->options.force_gl_renderer);
800 free(screen->options.mesa_extension_override);
803 free(screen);
809 dri_postprocessing_init(struct dri_screen *screen)
814 screen->pp_enabled[i] = driQueryOptioni(&screen->dev->option_cache,
839 dri_init_screen_helper(struct dri_screen *screen,
842 screen->base.screen = pscreen;
843 screen->base.get_egl_image = dri_get_egl_image;
844 screen->base.get_param = dri_get_param;
845 screen->base.set_background_context = dri_set_background_context;
847 if (screen->validate_egl_image)
848 screen->base.validate_egl_image = dri_validate_egl_image;
850 screen->st_api = st_gl_api_create();
851 if (!screen->st_api)
855 screen->target = PIPE_TEXTURE_2D;
857 screen->target = PIPE_TEXTURE_RECT;
859 dri_postprocessing_init(screen);
861 screen->st_api->query_versions(screen->st_api, &screen->base,
862 &screen->options,
863 &screen->sPriv->max_gl_core_version,
864 &screen->sPriv->max_gl_compat_version,
865 &screen->sPriv->max_gl_es1_version,
866 &screen->sPriv->max_gl_es2_version);
868 return dri_fill_in_modes(screen);