X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=libpicofe.git;a=blobdiff_plain;f=gl.c;h=92b39f722ae76b5978c8295bd4d7eb78f9519597;hp=2360a0c34b4a815d992e883856ed9e0c1695134e;hb=e54719efea14ccd1762402a71a37066e853bbe5a;hpb=e81b987fc1e567f92298087e32e5d9f01fce0aa7 diff --git a/gl.c b/gl.c index 2360a0c..92b39f7 100644 --- a/gl.c +++ b/gl.c @@ -136,22 +136,24 @@ int gl_flip(const void *fb, int w, int h) { static int old_w, old_h; - if (w != old_w || h != old_h) { - float f_w = (float)w / 1024.0f; - float f_h = (float)h / 512.0f; - texture[1*2 + 0] = f_w; - texture[2*2 + 1] = f_h; - texture[3*2 + 0] = f_w; - texture[3*2 + 1] = f_h; - old_w = w; - old_h = h; + if (fb != NULL) { + if (w != old_w || h != old_h) { + float f_w = (float)w / 1024.0f; + float f_h = (float)h / 512.0f; + texture[1*2 + 0] = f_w; + texture[2*2 + 1] = f_h; + texture[3*2 + 0] = f_w; + texture[3*2 + 1] = f_h; + old_w = w; + old_h = h; + } + + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, + GL_RGB, GL_UNSIGNED_SHORT_5_6_5, fb); + if (gl_have_error("glTexSubImage2D")) + return -1; } - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, - GL_RGB, GL_UNSIGNED_SHORT_5_6_5, fb); - if (gl_have_error("glTexSubImage2D")) - return -1; - glVertexPointer(3, GL_FLOAT, 0, vertices); glTexCoordPointer(2, GL_FLOAT, 0, texture); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);