2 * Copyright 2014 Intel Corporation
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
25 #ifndef EGL_DRI2_FALLBACKS_INCLUDED
26 #define EGL_DRI2_FALLBACKS_INCLUDED
28 #include "egltypedefs.h"
32 static inline _EGLSurface
*
33 dri2_fallback_create_pixmap_surface(_EGLDriver
*drv
, _EGLDisplay
*disp
,
36 const EGLint
*attrib_list
)
41 static inline _EGLSurface
*
42 dri2_fallback_create_pbuffer_surface(_EGLDriver
*drv
, _EGLDisplay
*disp
,
44 const EGLint
*attrib_list
)
49 static inline _EGLImage
*
50 dri2_fallback_create_image_khr(_EGLDriver
*drv
, _EGLDisplay
*disp
,
51 _EGLContext
*ctx
, EGLenum target
,
52 EGLClientBuffer buffer
,
53 const EGLint
*attr_list
)
58 static inline EGLBoolean
59 dri2_fallback_swap_interval(_EGLDriver
*drv
, _EGLDisplay
*dpy
,
60 _EGLSurface
*surf
, EGLint interval
)
65 static inline EGLBoolean
66 dri2_fallback_swap_buffers_with_damage(_EGLDriver
*drv
, _EGLDisplay
*dpy
,
68 const EGLint
*rects
, EGLint n_rects
)
70 struct dri2_egl_display
*dri2_dpy
= dri2_egl_display(dpy
);
71 dri2_dpy
->vtbl
->set_damage_region(drv
, dpy
, surf
, rects
, n_rects
);
72 return dri2_dpy
->vtbl
->swap_buffers(drv
, dpy
, surf
);
75 static inline EGLBoolean
76 dri2_fallback_swap_buffers_region(_EGLDriver
*drv
, _EGLDisplay
*dpy
,
78 EGLint numRects
, const EGLint
*rects
)
83 static inline EGLBoolean
84 dri2_fallback_post_sub_buffer(_EGLDriver
*drv
, _EGLDisplay
*dpy
,
86 EGLint x
, EGLint y
, EGLint width
, EGLint height
)
91 static inline EGLBoolean
92 dri2_fallback_copy_buffers(_EGLDriver
*drv
, _EGLDisplay
*dpy
,
94 void *native_pixmap_target
)
99 static inline EGLBoolean
100 dri2_fallback_set_damage_region(_EGLDriver
*drv
, _EGLDisplay
*dpy
,
102 const EGLint
*rects
, EGLint n_rects
)
108 dri2_fallback_query_buffer_age(_EGLDriver
*drv
, _EGLDisplay
*dpy
,
114 static inline struct wl_buffer
*
115 dri2_fallback_create_wayland_buffer_from_image(_EGLDriver
*drv
,
122 static inline EGLBoolean
123 dri2_fallback_get_sync_values(_EGLDisplay
*dpy
, _EGLSurface
*surf
,
124 EGLuint64KHR
*ust
, EGLuint64KHR
*msc
,
130 #endif /* EGL_DRI2_FALLBACKS_INCLUDED */