Home | History | Annotate | Download | only in dri2
      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 }
    119