#include <GLES/glext.h>
#include <errno.h>
- #define LOGW(...) ((void)fprintf(stderr, "# warn: %s", __VA_ARGS__))
- #ifdef DEBUG
- #define LOGI(...) ((void)fprintf(stderr, "# info: %s", __VA_ARGS__))
- #else
- #define LOGI(...) (void)0
- #endif
-
EGLDisplay mnit_display;
EGLSurface mnit_surface;
EGLContext mnit_context;
`}
in "C" `{
+ #define LOGW(...) ((void)fprintf(stderr, "# warn: %s (%i)\n", __VA_ARGS__))
+ #ifdef DEBUG
+ #define LOGI(...) ((void)fprintf(stderr, "# info: %s (%i)\n", __VA_ARGS__))
+ #else
+ #define LOGI(...) (void)0
+ #endif
+
extern NativeWindowType mnit_window;
extern EGLNativeDisplayType mnit_native_display;
image->src_xi = 1.0;
image->src_yi = 1.0;
-
if ((mnit_opengles_error_code = glGetError()) != GL_NO_ERROR) {
- LOGW ("a error loading image: %i\n", mnit_opengles_error_code);
- printf( "%i\n", mnit_opengles_error_code );
+ LOGW("error loading image after malloc", mnit_opengles_error_code);
}
+
glGenTextures(1, &image->texture);
if ((mnit_opengles_error_code = glGetError()) != GL_NO_ERROR) {
- LOGW ("b error loading image: %i\n", mnit_opengles_error_code);
- printf( "%i\n", mnit_opengles_error_code );
+ LOGW("error loading image after glGenTextures", mnit_opengles_error_code);
}
+
glBindTexture(GL_TEXTURE_2D, image->texture);
if ((mnit_opengles_error_code = glGetError()) != GL_NO_ERROR) {
- LOGW ("c error loading image: %i\n", mnit_opengles_error_code);
- printf( "%i\n", mnit_opengles_error_code );
+ LOGW("error loading image glBindTexture", mnit_opengles_error_code);
}
+
glTexImage2D( GL_TEXTURE_2D, 0, format, width, height,
0, format, GL_UNSIGNED_BYTE, (GLvoid*)pixels);
if ((mnit_opengles_error_code = glGetError()) != GL_NO_ERROR) {
- LOGW ("d error loading image: %i\n", mnit_opengles_error_code);
- printf( "%i\n", mnit_opengles_error_code );
+ LOGW("error loading image after glTexImage2D", mnit_opengles_error_code);
}
+
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
if ((mnit_opengles_error_code = glGetError()) != GL_NO_ERROR) {
- LOGW ("e error loading image: %i\n", mnit_opengles_error_code);
- printf( "%i\n", mnit_opengles_error_code );
+ LOGW("error loading image after gtTexParameter", mnit_opengles_error_code);
}
return image;
EGLDisplay display = eglGetDisplay(mnit_native_display);
if ( display == EGL_NO_DISPLAY) {
- LOGW("Unable to eglGetDisplay");
+ LOGW("Unable to eglGetDisplay", 0);
return -1;
}
if ( eglInitialize(display, 0, 0) == EGL_FALSE) {
- LOGW("Unable to eglInitialize");
+ LOGW("Unable to eglInitialize", 0);
return -1;
}
if ( eglChooseConfig(display, attribs, &config, 1, &numConfigs) == EGL_FALSE) {
- LOGW("Unable to eglChooseConfig");
+ LOGW("Unable to eglChooseConfig", 0);
return -1;
}
if ( numConfigs == 0 ) {
- LOGW("No configs available for egl");
+ LOGW("No configs available for egl", 0);
return -1;
}
if ( eglGetConfigAttrib(display, config, EGL_NATIVE_VISUAL_ID, &format) == EGL_FALSE) {
- LOGW("Unable to eglGetConfigAttrib");
+ LOGW("Unable to eglGetConfigAttrib", 0);
return -1;
}
context = eglCreateContext(display, config, NULL, NULL);
if (eglMakeCurrent(display, surface, surface, context) == EGL_FALSE) {
- LOGW("Unable to eglMakeCurrent");
+ LOGW("Unable to eglMakeCurrent", 0);
return -1;
}
mnit_height = h;
mnit_zoom = 1.0f;
- LOGI( "surface: %i, display: %i, w %i, h %i", (int)surface, (int)display, w, h );
+ LOGI("surface", (int)surface);
+ LOGI("display", (int)display);
+ LOGI("width", w);
+ LOGI("height", h);
glViewport(0, 0, mnit_width, mnit_height);
glMatrixMode(GL_PROJECTION);
glDisable(GL_TEXTURE_2D);
if ((mnit_opengles_error_code = glGetError()) != GL_NO_ERROR) {
- LOGW ("error drawing: %i", mnit_opengles_error_code);
+ LOGW("error drawing", mnit_opengles_error_code);
}
`}
glDisable(GL_TEXTURE_2D);
if ((mnit_opengles_error_code = glGetError()) != GL_NO_ERROR) {
- LOGW ("error drawing: %i", mnit_opengles_error_code);
+ LOGW("error drawing", mnit_opengles_error_code);
}
`}
glDisable(GL_TEXTURE_2D);
if ((mnit_opengles_error_code = glGetError()) != GL_NO_ERROR) {
- LOGW ("error drawing: %i", mnit_opengles_error_code);
+ LOGW("error drawing", mnit_opengles_error_code);
}
`}
if ( glCheckFramebufferStatusOES( GL_FRAMEBUFFER_OES ) != GL_FRAMEBUFFER_COMPLETE_OES )
{
- LOGW( "framebuffer not set" );
- if ( glCheckFramebufferStatusOES( GL_FRAMEBUFFER_OES ) == GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES )
- LOGW( "framebuffer not set a" );
- else if ( glCheckFramebufferStatusOES( GL_FRAMEBUFFER_OES ) == GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES )
- LOGW( "framebuffer not set b" );
- else if ( glCheckFramebufferStatusOES( GL_FRAMEBUFFER_OES ) == GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES )
- LOGW( "framebuffer not set c" );
- else if ( glCheckFramebufferStatusOES( GL_FRAMEBUFFER_OES ) == GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES )
- LOGW( "framebuffer not set d" );
+ LOGW("framebuffer not set", glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES));
+ exit(1);
}
image->super.width = w;
image->super.scale = 1.0f;
image->super.blended = 0;
- if (glGetError() != GL_NO_ERROR) LOGW( "gl error");
+ if ((mnit_opengles_error_code = glGetError()) != GL_NO_ERROR) {
+ LOGW("gl error in Opengles1DrawableImage::init", mnit_opengles_error_code);
+ exit(1);
+ }
return image;
`}
fun set_as_target is extern `{
LOGI( "sat %i", recv->fbo );
glBindFramebufferOES(GL_FRAMEBUFFER_OES, recv->fbo);
- if (glGetError() != GL_NO_ERROR) LOGW( "gl error 0");
+ if (glGetError() != GL_NO_ERROR) LOGW("gl error", 0);
/*glGetIntegerv(GL_FRAMEBUFFER_BINDING_OES,&recv->fbo);
if (glGetError() != GL_NO_ERROR) LOGW( "gl error a");*/
glViewport(0, 0, recv->super.width, recv->super.height);
glGenerateMipmapOES(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, 0);*/
glBindFramebufferOES(GL_FRAMEBUFFER_OES, 0);
- if (glGetError() != GL_NO_ERROR) LOGW( "gl error");
+ if (glGetError() != GL_NO_ERROR) LOGW("gl error", 0);
`}
end