1f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu/************************************************************************** 2f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * 3f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas. 4f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * Copyright 2009-2010 Chia-I Wu <olvaffe@gmail.com> 5f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * Copyright 2010-2011 LunarG, Inc. 6f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * All Rights Reserved. 7f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * 8f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * Permission is hereby granted, free of charge, to any person obtaining a 9f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * copy of this software and associated documentation files (the 10f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * "Software"), to deal in the Software without restriction, including 11f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * without limitation the rights to use, copy, modify, merge, publish, 12f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * distribute, sub license, and/or sell copies of the Software, and to 13f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * permit persons to whom the Software is furnished to do so, subject to 14f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * the following conditions: 15f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * 16f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * The above copyright notice and this permission notice (including the 17f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * next paragraph) shall be included in all copies or substantial portions 18f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * of the Software. 19f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * 20f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 23f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 26f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * DEALINGS IN THE SOFTWARE. 27f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * 28f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu **************************************************************************/ 29f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu 30f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu 31daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul#ifndef EGLAPI_INCLUDED 32daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul#define EGLAPI_INCLUDED 33daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 34daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul/** 35e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986aBrian Paul * A generic function ptr type 36daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul */ 3794cb321b5d246185abf71d89968d472a626f1a23Chia-I Wutypedef void (*_EGLProc)(void); 38daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 39daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 40e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986aBrian Paul/** 41e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986aBrian Paul * Typedefs for all EGL API entrypoint functions. 42e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986aBrian Paul */ 43e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986aBrian Paul 44daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul/* driver funcs */ 45a4a38dcf61f141297a083ccac217200947d57b0dChia-I Wutypedef EGLBoolean (*Initialize_t)(_EGLDriver *, _EGLDisplay *dpy); 462f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*Terminate_t)(_EGLDriver *, _EGLDisplay *dpy); 47daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 48daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul/* config funcs */ 492f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*GetConfigs_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); 502f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*ChooseConfig_t)(_EGLDriver *drv, _EGLDisplay *dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); 512f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*GetConfigAttrib_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, EGLint attribute, EGLint *value); 52daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 53daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul/* context funcs */ 542f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef _EGLContext *(*CreateContext_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, _EGLContext *share_list, const EGLint *attrib_list); 552f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*DestroyContext_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx); 5617330479b39409a63a06ec9e6b0f8e28b585db12Chia-I Wu/* this is the only function (other than Initialize) that may be called with an uninitialized display */ 572f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*MakeCurrent_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw, _EGLSurface *read, _EGLContext *ctx); 582f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*QueryContext_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx, EGLint attribute, EGLint *value); 59daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 60daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul/* surface funcs */ 614aed0944f4b8b8d14d210cf6bc87ccddfa9a77ecChia-I Wutypedef _EGLSurface *(*CreateWindowSurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, EGLNativeWindowType window, const EGLint *attrib_list); 624aed0944f4b8b8d14d210cf6bc87ccddfa9a77ecChia-I Wutypedef _EGLSurface *(*CreatePixmapSurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, EGLNativePixmapType pixmap, const EGLint *attrib_list); 632f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef _EGLSurface *(*CreatePbufferSurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, const EGLint *attrib_list); 642f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*DestroySurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface); 652f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*QuerySurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint attribute, EGLint *value); 662f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*SurfaceAttrib_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint attribute, EGLint value); 672f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*BindTexImage_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint buffer); 682f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*ReleaseTexImage_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint buffer); 6957da499d7ba074128e8c97b8076805e403a2b9c4Chia-I Wutypedef EGLBoolean (*SwapInterval_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf, EGLint interval); 702f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*SwapBuffers_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw); 714aed0944f4b8b8d14d210cf6bc87ccddfa9a77ecChia-I Wutypedef EGLBoolean (*CopyBuffers_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLNativePixmapType target); 72daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 73daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul/* misc funcs */ 742f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef const char *(*QueryString_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLint name); 756c21c8862bc6edc9cddf3b6eb6f276961099a7a8Chia-I Wutypedef EGLBoolean (*WaitClient_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx); 762f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*WaitNative_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLint engine); 77daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 78655f4654675e601a9482e40d8e50156c965b8934Chia-I Wu/* this function may be called from multiple threads at the same time */ 793e6139d158a054a0dfe8def28bf60201cdb9f385Chia-I Wutypedef _EGLProc (*GetProcAddress_t)(_EGLDriver *drv, const char *procname); 80e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986aBrian Paul 81e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986aBrian Paul 82daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 83b2006a40eb22899d38cd31691640555228e36975Brian Paul#ifdef EGL_MESA_screen_surface 842f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*ChooseModeMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes); 852f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*GetModesMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *screen, EGLModeMESA *modes, EGLint mode_size, EGLint *num_mode); 862f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*GetModeAttribMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLMode *mode, EGLint attribute, EGLint *value); 872f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*CopyContextMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *source, _EGLContext *dest, EGLint mask); 882f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*GetScreensMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens); 892f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef _EGLSurface *(*CreateScreenSurfaceMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, const EGLint *attrib_list); 902f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*ShowScreenSurfaceMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *screen, _EGLSurface *surface, _EGLMode *mode); 912f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*ScreenPositionMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *screen, EGLint x, EGLint y); 922f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*QueryScreenMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *screen, EGLint attribute, EGLint *value); 932f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*QueryScreenSurfaceMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *screen, _EGLSurface **surface); 942f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef EGLBoolean (*QueryScreenModeMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *screen, _EGLMode **mode); 952f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef const char * (*QueryModeStringMESA_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLMode *mode); 96b2006a40eb22899d38cd31691640555228e36975Brian Paul#endif /* EGL_MESA_screen_surface */ 97b2006a40eb22899d38cd31691640555228e36975Brian Paul 98b2006a40eb22899d38cd31691640555228e36975Brian Paul 992f2cf461c57974abd89e4917945cc8ae6a67a72eChia-I Wutypedef _EGLSurface *(*CreatePbufferFromClientBuffer_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLenum buftype, EGLClientBuffer buffer, _EGLConfig *config, const EGLint *attrib_list); 100b2006a40eb22899d38cd31691640555228e36975Brian Paul 101daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 102a1c4a8a3c855d52fbfef10023b9a8f116e163a97Chia-I Wutypedef _EGLImage *(*CreateImageKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attr_list); 103a1c4a8a3c855d52fbfef10023b9a8f116e163a97Chia-I Wutypedef EGLBoolean (*DestroyImageKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLImage *image); 104a1c4a8a3c855d52fbfef10023b9a8f116e163a97Chia-I Wu 1054eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wu 1064eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wutypedef _EGLSync *(*CreateSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLenum type, const EGLint *attrib_list); 1074eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wutypedef EGLBoolean (*DestroySyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync); 1084eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wutypedef EGLint (*ClientWaitSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLint flags, EGLTimeKHR timeout); 1094eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wutypedef EGLBoolean (*SignalSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLenum mode); 1104eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wutypedef EGLBoolean (*GetSyncAttribKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLint attribute, EGLint *value); 1114eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wu 1124eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wu 11352c554a79d3ed3104a9f7d112faa9129073b5a25Kristian Høgsberg#ifdef EGL_NOK_swap_region 11452c554a79d3ed3104a9f7d112faa9129073b5a25Kristian Høgsbergtypedef EGLBoolean (*SwapBuffersRegionNOK_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf, EGLint numRects, const EGLint *rects); 11552c554a79d3ed3104a9f7d112faa9129073b5a25Kristian Høgsberg#endif 116daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 117b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsberg#ifdef EGL_MESA_drm_image 118b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsbergtypedef _EGLImage *(*CreateDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, const EGLint *attr_list); 119b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsbergtypedef EGLBoolean (*ExportDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *name, EGLint *handle, EGLint *stride); 120b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsberg#endif 121b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsberg 1226b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzke#ifdef EGL_WL_bind_wayland_display 1236b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzkestruct wl_display; 1246b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzketypedef EGLBoolean (*BindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display); 1256b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzketypedef EGLBoolean (*UnbindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display); 126e6a33570b73aa56c87818d7f67a122d4427b7841Kristian Høgsbergtypedef EGLBoolean (*QueryWaylandBufferWL_t)(_EGLDriver *drv, _EGLDisplay *displ, struct wl_buffer *buffer, EGLint attribute, EGLint *value); 1276b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzke#endif 1286b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzke 1297d46b45c5bd7d1ab3e32a2722ca65061ca80dc34Fredrik Höglundtypedef EGLBoolean (*PostSubBufferNV_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surface, EGLint x, EGLint y, EGLint width, EGLint height); 1307d46b45c5bd7d1ab3e32a2722ca65061ca80dc34Fredrik Höglund 131daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul/** 132daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul * The API dispatcher jumps through these functions 133daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul */ 134daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paulstruct _egl_api 135daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul{ 136daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul Initialize_t Initialize; 137daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul Terminate_t Terminate; 138daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 139daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul GetConfigs_t GetConfigs; 140daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul ChooseConfig_t ChooseConfig; 141daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul GetConfigAttrib_t GetConfigAttrib; 142daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 143daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul CreateContext_t CreateContext; 144daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul DestroyContext_t DestroyContext; 145daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul MakeCurrent_t MakeCurrent; 146daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul QueryContext_t QueryContext; 147daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 148daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul CreateWindowSurface_t CreateWindowSurface; 149daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul CreatePixmapSurface_t CreatePixmapSurface; 150daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul CreatePbufferSurface_t CreatePbufferSurface; 151daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul DestroySurface_t DestroySurface; 152daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul QuerySurface_t QuerySurface; 153daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul SurfaceAttrib_t SurfaceAttrib; 154daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul BindTexImage_t BindTexImage; 155daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul ReleaseTexImage_t ReleaseTexImage; 156daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul SwapInterval_t SwapInterval; 157daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul SwapBuffers_t SwapBuffers; 158daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul CopyBuffers_t CopyBuffers; 159daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 160daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul QueryString_t QueryString; 1616c21c8862bc6edc9cddf3b6eb6f276961099a7a8Chia-I Wu WaitClient_t WaitClient; 162daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul WaitNative_t WaitNative; 163e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986aBrian Paul GetProcAddress_t GetProcAddress; 164daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 165a1c4a8a3c855d52fbfef10023b9a8f116e163a97Chia-I Wu#ifdef EGL_MESA_screen_surface 166daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul ChooseModeMESA_t ChooseModeMESA; 167daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul GetModesMESA_t GetModesMESA; 168daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul GetModeAttribMESA_t GetModeAttribMESA; 169daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul CopyContextMESA_t CopyContextMESA; 170daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul GetScreensMESA_t GetScreensMESA; 171daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul CreateScreenSurfaceMESA_t CreateScreenSurfaceMESA; 17248822796339cb4a55714dc3f1abbe379562ec538Brian Paul ShowScreenSurfaceMESA_t ShowScreenSurfaceMESA; 173daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul ScreenPositionMESA_t ScreenPositionMESA; 174daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul QueryScreenMESA_t QueryScreenMESA; 175daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul QueryScreenSurfaceMESA_t QueryScreenSurfaceMESA; 176daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul QueryScreenModeMESA_t QueryScreenModeMESA; 177daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul QueryModeStringMESA_t QueryModeStringMESA; 178a1c4a8a3c855d52fbfef10023b9a8f116e163a97Chia-I Wu#endif /* EGL_MESA_screen_surface */ 179b2006a40eb22899d38cd31691640555228e36975Brian Paul 180b2006a40eb22899d38cd31691640555228e36975Brian Paul CreatePbufferFromClientBuffer_t CreatePbufferFromClientBuffer; 181a1c4a8a3c855d52fbfef10023b9a8f116e163a97Chia-I Wu 182a1c4a8a3c855d52fbfef10023b9a8f116e163a97Chia-I Wu CreateImageKHR_t CreateImageKHR; 183a1c4a8a3c855d52fbfef10023b9a8f116e163a97Chia-I Wu DestroyImageKHR_t DestroyImageKHR; 18452c554a79d3ed3104a9f7d112faa9129073b5a25Kristian Høgsberg 1854eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wu CreateSyncKHR_t CreateSyncKHR; 1864eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wu DestroySyncKHR_t DestroySyncKHR; 1874eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wu ClientWaitSyncKHR_t ClientWaitSyncKHR; 1884eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wu SignalSyncKHR_t SignalSyncKHR; 1894eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wu GetSyncAttribKHR_t GetSyncAttribKHR; 1904eebea74a81ec5fbacf2347ea88cac137ddd4d69Chia-I Wu 19152c554a79d3ed3104a9f7d112faa9129073b5a25Kristian Høgsberg#ifdef EGL_NOK_swap_region 19252c554a79d3ed3104a9f7d112faa9129073b5a25Kristian Høgsberg SwapBuffersRegionNOK_t SwapBuffersRegionNOK; 19352c554a79d3ed3104a9f7d112faa9129073b5a25Kristian Høgsberg#endif 194b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsberg 195b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsberg#ifdef EGL_MESA_drm_image 196b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsberg CreateDRMImageMESA_t CreateDRMImageMESA; 197b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsberg ExportDRMImageMESA_t ExportDRMImageMESA; 198b7a8893a2413adfddf4dc836676a19463fb6ffd7Kristian Høgsberg#endif 1996b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzke 2006b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzke#ifdef EGL_WL_bind_wayland_display 2016b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzke BindWaylandDisplayWL_t BindWaylandDisplayWL; 2026b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzke UnbindWaylandDisplayWL_t UnbindWaylandDisplayWL; 203e6a33570b73aa56c87818d7f67a122d4427b7841Kristian Høgsberg QueryWaylandBufferWL_t QueryWaylandBufferWL; 2046b369c4c7cd8a52f99bbff2a57fb316b33a87495Benjamin Franzke#endif 2057d46b45c5bd7d1ab3e32a2722ca65061ca80dc34Fredrik Höglund 2067d46b45c5bd7d1ab3e32a2722ca65061ca80dc34Fredrik Höglund PostSubBufferNV_t PostSubBufferNV; 207daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul}; 208daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul 209daf585d0f00df1d4d2e8dc5b465dad60a4bf0122Brian Paul#endif /* EGLAPI_INCLUDED */ 210