00001 00002 #ifndef _INTEL_EGL_H_ 00003 #define _INTEL_EGL_H_ 00004 00005 #include <xf86drm.h> 00006 00007 struct egl_drm_device 00008 { 00009 void *priv; 00010 int drmFD; 00011 00012 drmVersionPtr version; 00013 int deviceID; 00014 }; 00015 00016 struct egl_drm_context 00017 { 00018 void *priv; 00019 struct egl_drm_device *device; 00020 }; 00021 00022 struct egl_drm_drawable 00023 { 00024 void *priv; 00025 struct egl_drm_device *device; 00026 size_t h; 00027 size_t w; 00028 }; 00029 00030 struct egl_drm_frontbuffer 00031 { 00032 uint32_t handle; 00033 uint32_t pitch; 00034 uint32_t width; 00035 uint32_t height; 00036 }; 00037 00038 #include "GL/internal/glcore.h" 00039 00040 int intel_create_device(struct egl_drm_device *device); 00041 int intel_destroy_device(struct egl_drm_device *device); 00042 00043 int intel_create_context(struct egl_drm_context *context, const __GLcontextModes *visual, void *sharedContextPrivate); 00044 int intel_destroy_context(struct egl_drm_context *context); 00045 00046 int intel_create_drawable(struct egl_drm_drawable *drawable, const __GLcontextModes * visual); 00047 int intel_destroy_drawable(struct egl_drm_drawable *drawable); 00048 00049 void intel_make_current(struct egl_drm_context *context, struct egl_drm_drawable *draw, struct egl_drm_drawable *read); 00050 void intel_swap_buffers(struct egl_drm_drawable *draw); 00051 void intel_bind_frontbuffer(struct egl_drm_drawable *draw, struct egl_drm_frontbuffer *front); 00052 00053 #endif