X-Git-Url: http://deadsoftware.ru/gitweb?p=nanogl.git;a=blobdiff_plain;f=eglwrap.cpp;h=208698ba71107e82b62ef3493891bed6a9a5788d;hp=7237c5be7278fa2f76a552c1de06dca73c1f7a64;hb=HEAD;hpb=57b822a8a58cbc7ff7edd99a1d375b559a198c9e diff --git a/eglwrap.cpp b/eglwrap.cpp index 7237c5b..208698b 100644 --- a/eglwrap.cpp +++ b/eglwrap.cpp @@ -18,184 +18,181 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - #include "egl.h" -#include "glesinterface.h" #include "gl.h" +#include "glesinterface.h" #include - -extern "C++" GlESInterface* glEsImpl; -extern "C++" void FlushOnStateChange(); -void APIENTRY gl_unimplemented(GLenum none); - -EGLint eglGetError (void) - { - return glEsImpl->eglGetError(); - } - -EGLDisplay eglGetDisplay (NativeDisplayType display) - { - return glEsImpl->eglGetDisplay(display); - } - -EGLBoolean eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor) - { - return glEsImpl->eglInitialize(dpy,major,minor); - } - -EGLBoolean eglTerminate (EGLDisplay dpy) - { - return glEsImpl->eglTerminate(dpy); - } -const char * eglQueryString (EGLDisplay dpy, EGLint name) - { - return glEsImpl->eglQueryString(dpy,name); - } - -#if defined(__MULTITEXTURE_SUPPORT__) +extern "C++" GlESInterface *glEsImpl; +extern "C++" void FlushOnStateChange( ); +void APIENTRY gl_unimplemented( GLenum none ); + +EGLint eglGetError( void ) +{ + return glEsImpl->eglGetError( ); +} + +EGLDisplay eglGetDisplay( NativeDisplayType display ) +{ + return glEsImpl->eglGetDisplay( display ); +} + +EGLBoolean eglInitialize( EGLDisplay dpy, EGLint *major, EGLint *minor ) +{ + return glEsImpl->eglInitialize( dpy, major, minor ); +} + +EGLBoolean eglTerminate( EGLDisplay dpy ) +{ + return glEsImpl->eglTerminate( dpy ); +} +const char *eglQueryString( EGLDisplay dpy, EGLint name ) +{ + return glEsImpl->eglQueryString( dpy, name ); +} + +#if defined( __MULTITEXTURE_SUPPORT__ ) extern "C" void glMultiTexCoord2fARB( GLenum target, GLfloat s, GLfloat t ); #endif -void * eglGetProcAddress (const char *procname) - { -#if defined(__MULTITEXTURE_SUPPORT__) - if (!strcmp(procname, "glMultiTexCoord2fARB")) - { - return (void*)&glMultiTexCoord2fARB; - } - else if (!strcmp(procname, "glActiveTextureARB")) - { - return (void*)&glActiveTexture; - } - else if (!strcmp(procname, "glClientActiveTextureARB")) - { - return (void*)&glClientActiveTexture; - } +void *eglGetProcAddress( const char *procname ) +{ +#if defined( __MULTITEXTURE_SUPPORT__ ) + if ( !strcmp( procname, "glMultiTexCoord2fARB" ) ) + { + return (void *)&glMultiTexCoord2fARB; + } + else if ( !strcmp( procname, "glActiveTextureARB" ) ) + { + return (void *)&glActiveTexture; + } + else if ( !strcmp( procname, "glClientActiveTextureARB" ) ) + { + return (void *)&glClientActiveTexture; + } #endif - return (void*)glEsImpl->eglGetProcAddress(procname); - } - -EGLBoolean eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config) - { - return glEsImpl->eglGetConfigs(dpy,configs, config_size, num_config); - } - -EGLBoolean eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config) - { - return glEsImpl->eglChooseConfig(dpy,attrib_list,configs,config_size, num_config); - } - -EGLBoolean eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value) - { - return glEsImpl->eglGetConfigAttrib(dpy,config,attribute,value); - } - -EGLSurface eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, NativeWindowType window, const EGLint *attrib_list) - { - return glEsImpl->eglCreateWindowSurface(dpy,config,window,attrib_list); - } - -EGLSurface eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, NativePixmapType pixmap, const EGLint *attrib_list) - { - return glEsImpl->eglCreatePixmapSurface(dpy,config,pixmap,attrib_list); - } - -EGLSurface eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list) - { - return glEsImpl->eglCreatePbufferSurface(dpy, config, attrib_list); - } - -EGLBoolean eglDestroySurface (EGLDisplay dpy, EGLSurface surface) - { - return glEsImpl->eglDestroySurface(dpy,surface); - } -EGLBoolean eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value) - { - return glEsImpl->eglQuerySurface(dpy,surface,attribute,value); - } + return (void *)glEsImpl->eglGetProcAddress( procname ); +} + +EGLBoolean eglGetConfigs( EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config ) +{ + return glEsImpl->eglGetConfigs( dpy, configs, config_size, num_config ); +} + +EGLBoolean eglChooseConfig( EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config ) +{ + return glEsImpl->eglChooseConfig( dpy, attrib_list, configs, config_size, num_config ); +} + +EGLBoolean eglGetConfigAttrib( EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value ) +{ + return glEsImpl->eglGetConfigAttrib( dpy, config, attribute, value ); +} + +EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config, NativeWindowType window, const EGLint *attrib_list ) +{ + return glEsImpl->eglCreateWindowSurface( dpy, config, window, attrib_list ); +} + +EGLSurface eglCreatePixmapSurface( EGLDisplay dpy, EGLConfig config, NativePixmapType pixmap, const EGLint *attrib_list ) +{ + return glEsImpl->eglCreatePixmapSurface( dpy, config, pixmap, attrib_list ); +} + +EGLSurface eglCreatePbufferSurface( EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list ) +{ + return glEsImpl->eglCreatePbufferSurface( dpy, config, attrib_list ); +} + +EGLBoolean eglDestroySurface( EGLDisplay dpy, EGLSurface surface ) +{ + return glEsImpl->eglDestroySurface( dpy, surface ); +} +EGLBoolean eglQuerySurface( EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value ) +{ + return glEsImpl->eglQuerySurface( dpy, surface, attribute, value ); +} /* EGL 1.1 render-to-texture APIs */ -EGLBoolean eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value) - { - return glEsImpl->eglSurfaceAttrib(dpy,surface,attribute,value); - } - -EGLBoolean eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer) - { - return glEsImpl->eglBindTexImage(dpy,surface,buffer); - } -EGLBoolean eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer) - { - return glEsImpl->eglReleaseTexImage(dpy,surface,buffer); - } +EGLBoolean eglSurfaceAttrib( EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value ) +{ + return glEsImpl->eglSurfaceAttrib( dpy, surface, attribute, value ); +} + +EGLBoolean eglBindTexImage( EGLDisplay dpy, EGLSurface surface, EGLint buffer ) +{ + return glEsImpl->eglBindTexImage( dpy, surface, buffer ); +} +EGLBoolean eglReleaseTexImage( EGLDisplay dpy, EGLSurface surface, EGLint buffer ) +{ + return glEsImpl->eglReleaseTexImage( dpy, surface, buffer ); +} /* EGL 1.1 swap control API */ -EGLBoolean eglSwapInterval(EGLDisplay dpy, EGLint interval) - { - return glEsImpl->eglSwapInterval(dpy,interval); - } - -EGLContext eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_list, const EGLint *attrib_list) - { - return glEsImpl->eglCreateContext(dpy,config,share_list,attrib_list); - } - -EGLBoolean eglDestroyContext (EGLDisplay dpy, EGLContext ctx) - { - return glEsImpl->eglDestroyContext(dpy,ctx); - } - -EGLBoolean eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx) - { - FlushOnStateChange(); - return glEsImpl->eglMakeCurrent(dpy,draw,read,ctx); - } - -EGLContext eglGetCurrentContext (void) - { - return glEsImpl->eglGetCurrentContext(); - } -EGLSurface eglGetCurrentSurface (EGLint readdraw) - { - if( (void*)glEsImpl->eglGetCurrentSurface == (void*)gl_unimplemented ) +EGLBoolean eglSwapInterval( EGLDisplay dpy, EGLint interval ) +{ + return glEsImpl->eglSwapInterval( dpy, interval ); +} + +EGLContext eglCreateContext( EGLDisplay dpy, EGLConfig config, EGLContext share_list, const EGLint *attrib_list ) +{ + return glEsImpl->eglCreateContext( dpy, config, share_list, attrib_list ); +} + +EGLBoolean eglDestroyContext( EGLDisplay dpy, EGLContext ctx ) +{ + return glEsImpl->eglDestroyContext( dpy, ctx ); +} + +EGLBoolean eglMakeCurrent( EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx ) +{ + FlushOnStateChange( ); + return glEsImpl->eglMakeCurrent( dpy, draw, read, ctx ); +} + +EGLContext eglGetCurrentContext( void ) +{ + return glEsImpl->eglGetCurrentContext( ); +} +EGLSurface eglGetCurrentSurface( EGLint readdraw ) +{ + if ( (void *)glEsImpl->eglGetCurrentSurface == (void *)gl_unimplemented ) return EGL_NO_SURFACE; - return glEsImpl->eglGetCurrentSurface(readdraw); - } -EGLDisplay eglGetCurrentDisplay (void) - { - if( (void*)glEsImpl->eglGetCurrentDisplay == (void*)gl_unimplemented ) + return glEsImpl->eglGetCurrentSurface( readdraw ); +} +EGLDisplay eglGetCurrentDisplay( void ) +{ + if ( (void *)glEsImpl->eglGetCurrentDisplay == (void *)gl_unimplemented ) return EGL_NO_DISPLAY; - return glEsImpl->eglGetCurrentDisplay(); - } - -EGLBoolean eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value) - { - return glEsImpl->eglQueryContext(dpy,ctx,attribute,value); - } - -EGLBoolean eglWaitGL (void) - { - FlushOnStateChange(); - return glEsImpl->eglWaitGL(); - } - -EGLBoolean eglWaitNative (EGLint engine) - { - FlushOnStateChange(); - return glEsImpl->eglWaitNative(engine); - } - - -EGLBoolean eglSwapBuffers (EGLDisplay dpy, EGLSurface draw) - { - FlushOnStateChange(); - return glEsImpl->eglSwapBuffers(dpy,draw); - } - -EGLBoolean eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, NativePixmapType target) - { - FlushOnStateChange(); - return glEsImpl->eglCopyBuffers(dpy,surface,target); - } + return glEsImpl->eglGetCurrentDisplay( ); +} + +EGLBoolean eglQueryContext( EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value ) +{ + return glEsImpl->eglQueryContext( dpy, ctx, attribute, value ); +} + +EGLBoolean eglWaitGL( void ) +{ + FlushOnStateChange( ); + return glEsImpl->eglWaitGL( ); +} + +EGLBoolean eglWaitNative( EGLint engine ) +{ + FlushOnStateChange( ); + return glEsImpl->eglWaitNative( engine ); +} + +EGLBoolean eglSwapBuffers( EGLDisplay dpy, EGLSurface draw ) +{ + FlushOnStateChange( ); + return glEsImpl->eglSwapBuffers( dpy, draw ); +} + +EGLBoolean eglCopyBuffers( EGLDisplay dpy, EGLSurface surface, NativePixmapType target ) +{ + FlushOnStateChange( ); + return glEsImpl->eglCopyBuffers( dpy, surface, target ); +}