imgegl.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. /*************************************************************************/ /*!
  2. @File
  3. @Title Windowing system specific EGL internal interface definition.
  4. @Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
  5. @Description
  6. @License Strictly Confidential.
  7. */ /**************************************************************************/
  8. #if !defined(__IMGEGL_H__)
  9. #define __IMGEGL_H__
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. #include "img_types.h"
  14. #include "imgextensions.h"
  15. EGLint IMGeglGetError(void);
  16. EGLDisplay IMGeglGetDisplay(EGLNativeDisplayType display);
  17. EGLBoolean IMGeglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);
  18. EGLBoolean IMGeglTerminate(EGLDisplay dpy);
  19. const char * IMGeglQueryString(EGLDisplay dpy, EGLint name);
  20. void (* IMGeglGetProcAddress(const char *procname))(void);
  21. EGLBoolean IMGeglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
  22. EGLBoolean IMGeglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
  23. EGLBoolean IMGeglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
  24. EGLSurface IMGeglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType window, const EGLint *attrib_list);
  25. EGLSurface IMGeglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
  26. EGLSurface IMGeglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
  27. EGLBoolean IMGeglDestroySurface(EGLDisplay dpy, EGLSurface surface);
  28. EGLBoolean IMGeglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
  29. EGLContext IMGeglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_list, const EGLint *attrib_list);
  30. EGLBoolean IMGeglDestroyContext(EGLDisplay dpy, EGLContext ctx);
  31. EGLBoolean IMGeglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
  32. EGLContext IMGeglGetCurrentContext(void);
  33. EGLSurface IMGeglGetCurrentSurface(EGLint readdraw);
  34. EGLDisplay IMGeglGetCurrentDisplay(void);
  35. EGLBoolean IMGeglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
  36. EGLBoolean IMGeglWaitGL(void);
  37. EGLBoolean IMGeglWaitNative(EGLint engine);
  38. EGLBoolean IMGeglSwapBuffers(EGLDisplay dpy, EGLSurface draw);
  39. EGLBoolean IMGeglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
  40. EGLBoolean IMGeglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
  41. EGLBoolean IMGeglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
  42. EGLBoolean IMGeglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
  43. EGLBoolean IMGeglSwapInterval(EGLDisplay dpy, EGLint interval);
  44. EGLSurface IMGeglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer,
  45. EGLConfig config, const EGLint *attrib_list);
  46. EGLBoolean IMGeglBindAPI(EGLenum api);
  47. EGLenum IMGeglQueryAPI(void);
  48. EGLBoolean IMGeglWaitClient(void);
  49. EGLBoolean IMGeglReleaseThread(void);
  50. #if defined(EGL_EXTENSION_PARTIAL_UPDATES)
  51. EGLBoolean IMGeglSwapBuffersWithDamageKHR(EGLDisplay eglDpy, EGLSurface draw, EGLint *rects, EGLint n_rects);
  52. EGLBoolean IMGeglSetDamageRegionKHR(EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
  53. #endif /* defined(EGL_EXTENSION_PARTIAL_UPDATES) */
  54. #if defined(EGL_EXTENSION_PLATFORM_BASE)
  55. EGLDisplay IMGeglGetPlatformDisplayEXT(EGLenum ePlatform,
  56. void *pNativeDisplay,
  57. const EGLint *paiAttribList);
  58. EGLSurface IMGeglCreatePlatformWindowSurfaceEXT(EGLDisplay eglDpy,
  59. EGLConfig eglConfig,
  60. void *pNativeWindow,
  61. const EGLint *paiAttribList);
  62. EGLSurface IMGeglCreatePlatformPixmapSurfaceEXT(EGLDisplay eglDpy,
  63. EGLConfig eglConfig,
  64. void *pNativePixmap,
  65. const EGLint *paiAttribList);
  66. #endif /* defined(EGL_EXTENSION_PLATFORM_BASE) */
  67. #if defined(IMGEGL_PLATFORM_ANDROID_HAS_1_5)
  68. EGLSync IMGeglCreateSync(EGLDisplay dpy, EGLenum type,
  69. const EGLAttrib *attrib_list);
  70. EGLBoolean IMGeglDestroySync(EGLDisplay dpy, EGLSync sync);
  71. EGLint IMGeglClientWaitSync(EGLDisplay dpy, EGLSync sync,
  72. EGLint flags, EGLTime timeout);
  73. EGLBoolean IMGeglGetSyncAttrib(EGLDisplay dpy, EGLSync sync, EGLint attribute,
  74. EGLAttrib *value);
  75. EGLImage IMGeglCreateImage(EGLDisplay dpy, EGLContext ctx, EGLenum target,
  76. EGLClientBuffer buffer,
  77. const EGLAttrib *attrib_list);
  78. EGLBoolean IMGeglDestroyImage(EGLDisplay dpy, EGLImage image);
  79. EGLDisplay IMGeglGetPlatformDisplay(EGLenum platform, void *native_display,
  80. const EGLAttrib *attrib_list);
  81. EGLSurface IMGeglCreatePlatformWindowSurface(EGLDisplay dpy, EGLConfig config,
  82. void *native_window,
  83. const EGLAttrib *attrib_list);
  84. EGLSurface IMGeglCreatePlatformPixmapSurface(EGLDisplay dpy, EGLConfig config,
  85. void *native_pixmap,
  86. const EGLAttrib *attrib_list);
  87. EGLBoolean IMGeglWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags);
  88. #endif /* defined(IMGEGL_PLATFORM_ANDROID_HAS_1_5) */
  89. #ifdef __cplusplus
  90. }
  91. #endif
  92. #endif /* __IMGEGL_H__ */
  93. /******************************************************************************
  94. End of file (imgegl.h)
  95. ******************************************************************************/