Lines Matching refs:disp
400 dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
405 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
416 _eglInitConfig(&base, disp, id);
524 if (!disp->Extensions.KHR_gl_colorspace && srgb)
535 if (disp->Extensions.KHR_mutable_render_buffer)
560 (disp->Extensions.NOK_texture_from_pixmap ? EGL_PIXMAP_BIT : 0))) {
573 base.RenderableType = disp->ClientAPIs;
574 base.Conformant = disp->ClientAPIs;
587 num_configs = _eglFilterArray(disp->Configs, (void **) &matching_config, 1,
623 dri2_add_pbuffer_configs_for_visuals(_EGLDisplay *disp)
625 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
633 dri2_conf = dri2_add_config(disp, dri2_dpy->driver_configs[i],
658 _EGLDisplay *disp = data;
661 mtx_lock(&disp->Mutex);
662 img = _eglLookupImage(image, disp);
663 mtx_unlock(&disp->Mutex);
801 dri2_open_driver(_EGLDisplay *disp)
803 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
815 dri2_load_driver_common(_EGLDisplay *disp,
818 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
821 extensions = dri2_open_driver(disp);
838 dri2_load_driver(_EGLDisplay *disp)
840 return dri2_load_driver_common(disp, dri2_driver_extensions);
844 dri2_load_driver_dri3(_EGLDisplay *disp)
846 return dri2_load_driver_common(disp, dri3_driver_extensions);
850 dri2_load_driver_swrast(_EGLDisplay *disp)
852 return dri2_load_driver_common(disp, swrast_driver_extensions);
869 dri2_query_driver_name(_EGLDisplay *disp)
871 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
876 dri2_query_driver_config(_EGLDisplay *disp)
878 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
889 dri2_setup_screen(_EGLDisplay *disp)
891 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
918 disp->ClientAPIs = 0;
920 disp->ClientAPIs |= EGL_OPENGL_BIT;
922 disp->ClientAPIs |= EGL_OPENGL_ES_BIT;
924 disp->ClientAPIs |= EGL_OPENGL_ES2_BIT;
926 disp->ClientAPIs |= EGL_OPENGL_ES3_BIT_KHR;
929 disp->Extensions.KHR_no_config_context = EGL_TRUE;
930 disp->Extensions.KHR_surfaceless_context = EGL_TRUE;
933 disp->Extensions.MESA_query_driver = EGL_TRUE;
937 disp->Extensions.IMG_context_priority =
941 disp->Extensions.EXT_pixel_format_float = EGL_TRUE;
945 disp->Extensions.KHR_gl_colorspace = EGL_TRUE;
950 disp->Extensions.KHR_create_context = EGL_TRUE;
953 disp->Extensions.EXT_create_context_robustness = EGL_TRUE;
958 disp->Extensions.KHR_create_context_no_error = EGL_TRUE;
961 disp->Extensions.KHR_fence_sync = EGL_TRUE;
962 disp->Extensions.KHR_wait_sync = EGL_TRUE;
964 disp->Extensions.KHR_cl_event2 = EGL_TRUE;
969 disp->Extensions.ANDROID_native_fence_sync =
975 disp->Extensions.ANDROID_blob_cache = EGL_TRUE;
977 disp->Extensions.KHR_reusable_sync = EGL_TRUE;
985 disp->Extensions.MESA_drm_image = (capabilities & __DRI_IMAGE_CAP_GLOBAL_NAMES) != 0;
988 disp->Extensions.MESA_image_dma_buf_export = EGL_TRUE;
990 disp->Extensions.MESA_drm_image = EGL_TRUE;
992 disp->Extensions.MESA_image_dma_buf_export = EGL_TRUE;
995 disp->Extensions.KHR_image_base = EGL_TRUE;
996 disp->Extensions.KHR_gl_renderbuffer_image = EGL_TRUE;
999 disp->Extensions.KHR_gl_texture_2D_image = EGL_TRUE;
1000 disp->Extensions.KHR_gl_texture_cubemap_image = EGL_TRUE;
1004 disp->Extensions.KHR_gl_texture_3D_image = EGL_TRUE;
1009 disp->Extensions.EXT_image_dma_buf_import = EGL_TRUE;
1010 disp->Extensions.EXT_image_dma_buf_import_modifiers = EGL_TRUE;
1016 disp->Extensions.KHR_context_flush_control = EGL_TRUE;
1019 disp->Extensions.KHR_partial_update = EGL_TRUE;
1021 disp->Extensions.EXT_protected_surface =
1027 dri2_setup_swap_interval(_EGLDisplay *disp, int max_swap_interval)
1029 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1065 dri2_create_screen(_EGLDisplay *disp)
1067 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1075 disp);
1082 &dri2_dpy->driver_configs, disp);
1087 &dri2_dpy->driver_configs, disp);
1095 &dri2_dpy->driver_configs, disp);
1099 &dri2_dpy->driver_configs, disp);
1113 dri2_setup_extensions(_EGLDisplay *disp)
1115 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1149 dri2_initialize(_EGLDisplay *disp)
1152 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1173 switch (disp->Platform) {
1175 ret = dri2_initialize_surfaceless(disp);
1178 ret = dri2_initialize_device(disp);
1182 ret = dri2_initialize_x11(disp);
1185 ret = dri2_initialize_drm(disp);
1188 ret = dri2_initialize_wayland(disp);
1191 ret = dri2_initialize_android(disp);
1195 ret = dri2_initialize_ohos(disp);
1205 dri2_dpy = dri2_egl_display(disp);
1215 dri2_display_release(_EGLDisplay *disp)
1219 if (!disp)
1222 dri2_dpy = dri2_egl_display(disp);
1230 _eglCleanupDisplay(disp);
1231 dri2_display_destroy(disp);
1235 dri2_display_destroy(_EGLDisplay *disp)
1237 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1241 dri2_dpy->vtbl->close_screen_notify(disp);
1261 switch (disp->Platform) {
1280 if (disp->Platform != _EGL_PLATFORM_DRM && dri2_dpy->driver_configs) {
1286 disp->DriverData = NULL;
1330 dri2_terminate(_EGLDisplay *disp)
1333 _eglReleaseDisplayResources(disp);
1335 dri2_display_release(disp);
1489 dri2_create_context(_EGLDisplay *disp, _EGLConfig *conf,
1493 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1510 if (!_eglInitContext(&dri2_ctx->base, disp, conf, attrib_list))
1662 dri2_destroy_context(_EGLDisplay *disp, _EGLContext *ctx)
1665 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1676 dri2_init_surface(_EGLSurface *surf, _EGLDisplay *disp, EGLint type,
1681 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1692 return _eglInitSurface(surf, disp, type, conf, attrib_list, native_surface);
1716 dri2_destroy_surface(_EGLDisplay *disp, _EGLSurface *surf)
1718 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1723 return dri2_dpy->vtbl->destroy_surface(disp, surf);
1728 _EGLDisplay *disp, _EGLSurface *surf)
1731 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1783 dri2_make_current(_EGLDisplay *disp, _EGLSurface *dsurf,
1786 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1825 dri2_surf_update_fence_fd(old_ctx, disp, old_dsurf);
1893 dri2_destroy_surface(disp, old_dsurf);
1894 dri2_destroy_surface(disp, old_rsurf);
1897 dri2_destroy_context(disp, old_ctx);
1913 dri2_dpy->vtbl->set_shared_buffer_mode(disp, dsurf, mode);
1938 dri2_create_window_surface(_EGLDisplay *disp, _EGLConfig *conf,
1941 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1942 return dri2_dpy->vtbl->create_window_surface(disp, conf, native_window,
1947 dri2_create_pixmap_surface(_EGLDisplay *disp, _EGLConfig *conf,
1950 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1953 return dri2_dpy->vtbl->create_pixmap_surface(disp, conf, native_pixmap,
1958 dri2_create_pbuffer_surface(_EGLDisplay *disp, _EGLConfig *conf,
1961 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1964 return dri2_dpy->vtbl->create_pbuffer_surface(disp, conf, attrib_list);
1968 dri2_swap_interval(_EGLDisplay *disp, _EGLSurface *surf, EGLint interval)
1970 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1973 return dri2_dpy->vtbl->swap_interval(disp, surf, interval);
1981 dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw)
1983 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2013 dri2_swap_buffers(_EGLDisplay *disp, _EGLSurface *surf)
2015 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2021 dri2_surf_update_fence_fd(ctx, disp, surf);
2022 ret = dri2_dpy->vtbl->swap_buffers(disp, surf);
2035 dri2_swap_buffers_with_damage(_EGLDisplay *disp, _EGLSurface *surf,
2038 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2044 dri2_surf_update_fence_fd(ctx, disp, surf);
2046 ret = dri2_dpy->vtbl->swap_buffers_with_damage(disp, surf,
2049 ret = dri2_dpy->vtbl->swap_buffers(disp, surf);
2062 dri2_swap_buffers_region(_EGLDisplay *disp, _EGLSurface *surf,
2065 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2071 ret = dri2_dpy->vtbl->swap_buffers_region(disp, surf, numRects, rects);
2084 dri2_set_damage_region(_EGLDisplay *disp, _EGLSurface *surf,
2087 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2098 dri2_post_sub_buffer(_EGLDisplay *disp, _EGLSurface *surf,
2101 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2104 return dri2_dpy->vtbl->post_sub_buffer(disp, surf, x, y, width, height);
2108 dri2_copy_buffers(_EGLDisplay *disp, _EGLSurface *surf, void *native_pixmap_target)
2110 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2113 return dri2_dpy->vtbl->copy_buffers(disp, surf, native_pixmap_target);
2117 dri2_query_buffer_age(_EGLDisplay *disp, _EGLSurface *surf)
2119 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2122 return dri2_dpy->vtbl->query_buffer_age(disp, surf);
2126 dri2_wait_client(_EGLDisplay *disp, _EGLContext *ctx)
2128 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2152 dri2_bind_tex_image(_EGLDisplay *disp, _EGLSurface *surf, EGLint buffer)
2154 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2163 if (!_eglBindTexImage(disp, surf, buffer))
2195 dri2_release_tex_image(_EGLDisplay *disp, _EGLSurface *surf, EGLint buffer)
2197 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2206 if (!_eglReleaseTexImage(disp, surf, buffer))
2227 dri2_create_image(_EGLDisplay *disp, _EGLContext *ctx, EGLenum target,
2230 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2231 return dri2_dpy->vtbl->create_image(disp, ctx, target, buffer,
2236 dri2_create_image_from_dri(_EGLDisplay *disp, __DRIimage *dri_image)
2251 _eglInitImage(&dri2_img->base, disp);
2282 dri2_create_image_khr_renderbuffer(_EGLDisplay *disp, _EGLContext *ctx,
2286 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2296 if (!disp->Extensions.KHR_gl_renderbuffer_image) {
2323 return dri2_create_image_from_dri(disp, dri_image);
2347 dri2_create_image_wayland_wl_buffer(_EGLDisplay *disp, _EGLContext *ctx,
2352 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2363 if (!_eglParseImageAttribList(&attrs, disp, attr_list))
2382 return dri2_create_image_from_dri(disp, dri_image);
2387 dri2_get_sync_values_chromium(_EGLDisplay *disp, _EGLSurface *surf,
2391 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2394 return dri2_dpy->vtbl->get_sync_values(disp, surf, ust, msc, sbc);
2411 dri2_create_image_khr_texture(_EGLDisplay *disp, _EGLContext *ctx,
2416 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2430 if (!_eglParseImageAttribList(&attrs, disp, attr_list))
2435 if (!disp->Extensions.KHR_gl_texture_2D_image) {
2443 if (!disp->Extensions.KHR_gl_texture_3D_image) {
2457 if (!disp->Extensions.KHR_gl_texture_cubemap_image) {
2476 _eglInitImage(&dri2_img->base, disp);
2496 dri2_query_surface(_EGLDisplay *disp, _EGLSurface *surf,
2499 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2501 return _eglQuerySurface(disp, surf, attribute, value);
2502 return dri2_dpy->vtbl->query_surface(disp, surf, attribute, value);
2506 dri2_create_wayland_buffer_from_image(_EGLDisplay *disp, _EGLImage *img)
2508 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2511 return dri2_dpy->vtbl->create_wayland_buffer_from_image(disp, img);
2516 dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx,
2519 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2526 if (!_eglParseImageAttribList(&attrs, disp, attr_list))
2556 return dri2_create_image_from_dri(disp, dri_image);
2783 dri2_query_dma_buf_formats(_EGLDisplay *disp, EGLint max,
2786 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2814 dri2_query_dma_buf_modifiers(_EGLDisplay *disp, EGLint format,
2818 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2853 dri2_create_image_dma_buf(_EGLDisplay *disp, _EGLContext *ctx,
2856 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2879 if (!_eglParseImageAttribList(&attrs, disp, attr_list))
2959 res = dri2_create_image_from_dri(disp, dri_image);
2964 dri2_create_drm_image_mesa(_EGLDisplay *disp, const EGLint *attr_list)
2966 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
2977 if (!_eglParseImageAttribList(&attrs, disp, attr_list))
3017 _eglInitImage(&dri2_img->base, disp);
3033 dri2_export_drm_image_mesa(_EGLDisplay *disp, _EGLImage *img,
3036 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3062 dri2_can_export_dma_buf_image(_EGLDisplay *disp, _EGLImage *img)
3064 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3077 dri2_export_dma_buf_image_query_mesa(_EGLDisplay *disp, _EGLImage *img,
3081 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3085 if (!dri2_can_export_dma_buf_image(disp, img))
3119 dri2_export_dma_buf_image_mesa(_EGLDisplay *disp, _EGLImage *img,
3122 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3126 if (!dri2_can_export_dma_buf_image(disp, img))
3165 dri2_create_image_khr(_EGLDisplay *disp, _EGLContext *ctx, EGLenum target,
3177 return dri2_create_image_khr_texture(disp, ctx, target, buffer, attr_list);
3179 return dri2_create_image_khr_renderbuffer(disp, ctx, buffer, attr_list);
3182 return dri2_create_image_mesa_drm_buffer(disp, ctx, buffer, attr_list);
3184 return dri2_create_image_dma_buf(disp, ctx, buffer, attr_list);
3188 return dri2_create_image_wayland_wl_buffer(disp, ctx, buffer, attr_list);
3197 dri2_destroy_image_khr(_EGLDisplay *disp, _EGLImage *image)
3199 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3214 _EGLDisplay *disp = user_data;
3215 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3257 _EGLDisplay *disp = user_data;
3258 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3264 dri2_bind_wayland_display_wl(_EGLDisplay *disp, struct wl_display *wl_dpy)
3266 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3294 &wl_drm_callbacks, disp, flags);
3312 dri2_unbind_wayland_display_wl(_EGLDisplay *disp, struct wl_display *wl_dpy)
3314 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3326 dri2_query_wayland_buffer_wl(_EGLDisplay *disp, struct wl_resource *buffer_resource,
3329 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3385 dri2_create_sync(_EGLDisplay *disp, EGLenum type, const EGLAttrib *attrib_list)
3388 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3400 if (!_eglInitSync(&dri2_sync->base, disp, type, attrib_list)) {
3485 dri2_destroy_sync(_EGLDisplay *disp, _EGLSync *sync)
3487 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3514 dri2_dup_native_fence_fd(_EGLDisplay *disp, _EGLSync *sync)
3516 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3541 dri2_set_blob_cache_funcs(_EGLDisplay *disp,
3545 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3547 disp->BlobCacheSet,
3548 disp->BlobCacheGet);
3552 dri2_client_wait_sync(_EGLDisplay *disp, _EGLSync *sync,
3556 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3644 dri2_signal_sync(_EGLDisplay *disp, _EGLSync *sync, EGLenum mode)
3669 dri2_server_wait_sync(_EGLDisplay *disp, _EGLSync *sync)
3672 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3682 dri2_interop_query_device_info(_EGLDisplay *disp, _EGLContext *ctx,
3685 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
3695 dri2_interop_export_object(_EGLDisplay *disp, _EGLContext *ctx,
3699 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);