egl/dri2: swap_buffers_with_damage falls back to swap_buffers
[mesa.git] / src / egl / drivers / dri2 / egl_dri2_fallbacks.h
1 /*
2 * Copyright 2014 Intel Corporation
3 *
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:
10 *
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
13 * Software.
14 *
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.
23 */
24
25 #pragma once
26
27 #include "egltypedefs.h"
28
29 struct wl_buffer;
30
31 static inline _EGLSurface *
32 dri2_fallback_create_pixmap_surface(_EGLDriver *drv, _EGLDisplay *disp,
33 _EGLConfig *conf,
34 void *native_pixmap,
35 const EGLint *attrib_list)
36 {
37 return NULL;
38 }
39
40 static inline _EGLSurface *
41 dri2_fallback_create_pbuffer_surface(_EGLDriver *drv, _EGLDisplay *disp,
42 _EGLConfig *conf,
43 const EGLint *attrib_list)
44 {
45 return NULL;
46 }
47
48 static inline _EGLImage*
49 dri2_fallback_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
50 _EGLContext *ctx, EGLenum target,
51 EGLClientBuffer buffer,
52 const EGLint *attr_list)
53 {
54 return NULL;
55 }
56
57 static inline EGLBoolean
58 dri2_fallback_swap_interval(_EGLDriver *drv, _EGLDisplay *dpy,
59 _EGLSurface *surf, EGLint interval)
60 {
61 return EGL_FALSE;
62 }
63
64 static inline EGLBoolean
65 dri2_fallback_swap_buffers_with_damage(_EGLDriver *drv, _EGLDisplay *dpy,
66 _EGLSurface *surf,
67 const EGLint *rects, EGLint n_rects)
68 {
69 struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
70 return dri2_dpy->vtbl->swap_buffers(drv, dpy, surf);
71 }
72
73 static inline EGLBoolean
74 dri2_fallback_swap_buffers_region(_EGLDriver *drv, _EGLDisplay *dpy,
75 _EGLSurface *surf,
76 EGLint numRects, const EGLint *rects)
77 {
78 return EGL_FALSE;
79 }
80
81 static inline EGLBoolean
82 dri2_fallback_post_sub_buffer(_EGLDriver *drv, _EGLDisplay *dpy,
83 _EGLSurface *draw,
84 EGLint x, EGLint y, EGLint width, EGLint height)
85 {
86 return EGL_FALSE;
87 }
88
89 static inline EGLBoolean
90 dri2_fallback_copy_buffers(_EGLDriver *drv, _EGLDisplay *dpy,
91 _EGLSurface *surf,
92 void *native_pixmap_target)
93 {
94 return EGL_FALSE;
95 }
96
97 static inline EGLint
98 dri2_fallback_query_buffer_age(_EGLDriver *drv, _EGLDisplay *dpy,
99 _EGLSurface *surf)
100 {
101 return 0;
102 }
103
104 static inline struct wl_buffer*
105 dri2_fallback_create_wayland_buffer_from_image(_EGLDriver *drv,
106 _EGLDisplay *dpy,
107 _EGLImage *img)
108 {
109 return NULL;
110 }
111
112 static inline EGLBoolean
113 dri2_fallback_get_sync_values(_EGLDisplay *dpy, _EGLSurface *surf,
114 EGLuint64KHR *ust, EGLuint64KHR *msc,
115 EGLuint64KHR *sbc)
116 {
117 return EGL_FALSE;
118 }