src/texture.c

changeset 86
943bf9d7c6d6
parent 85
f51eec4e7ccb
child 88
6234b7ea48f3
--- a/src/texture.c	Sat Apr 19 13:00:32 2025 +0200
+++ b/src/texture.c	Sat Apr 19 15:06:24 2025 +0200
@@ -39,9 +39,15 @@
     }
     glBindTexture(tex->target, tex->tex_id);
     glUniform1i(uniform_location, unit);
+    asc_error_catch_all_gl();
 }
 
 void asc_texture_from_surface(AscTexture *tex, SDL_Surface const *surface) {
+    if (asc_texture_uninitialized(tex)) {
+        asc_error("Tried to use uninitialized texture.");
+        asc_dprintf("Texture address: %"PRIxPTR, (uintptr_t) tex);
+        return;
+    }
     glBindTexture(tex->target,tex->tex_id);
     glPixelStorei(GL_UNPACK_ROW_LENGTH,
                   surface->pitch / surface->format->BytesPerPixel);
@@ -49,6 +55,7 @@
                  surface->w, surface->h,
                  0, GL_BGRA,
                  GL_UNSIGNED_BYTE, surface->pixels);
+    asc_error_catch_all_gl();
 }
 
 void asc_texture_init(
@@ -79,6 +86,7 @@
     glTexParameteri(tex->target, GL_TEXTURE_MAG_FILTER,
                     texture_filters[mag_filter]);
     asc_dprintf("Initialized texture: %u", tex->tex_id);
+    asc_error_catch_all_gl();
 }
 
 void asc_texture_destroy(AscTexture *tex) {

mercurial