prevent attempts to load a shader again that already failed before

Fri, 25 Jul 2025 18:58:50 +0200

author
Mike Becker <universe@uap-core.de>
date
Fri, 25 Jul 2025 18:58:50 +0200
changeset 225
c42c7d1a3c34
parent 224
f72b80448413
child 226
18327d2df79d

prevent attempts to load a shader again that already failed before

src/shader.c file | annotate | diff | comparison | revisions
--- a/src/shader.c	Fri Jul 25 18:54:51 2025 +0200
+++ b/src/shader.c	Fri Jul 25 18:58:50 2025 +0200
@@ -190,7 +190,6 @@
     // in debug mode, exit early when a shader compilation failed
     for (unsigned i = 0 ; i < n ; i++) {
         if (shader[i] == 0) {
-            asc_error("Shader %u compilation failed.", i);
             for (unsigned j = 0; j < n; j++) {
                 if (shader[j] > 0) {
                     asc_dprintf("Delete shader: %u", shader[j]);
@@ -251,7 +250,10 @@
     }
 #endif
     AscShaderProgram *prog = create_func(create_flags);
-    if (prog == NULL) return NULL;
+    if (prog == NULL) {
+        // create an empty program to prevent future loading attempts
+        prog = cxZallocDefault(sizeof(AscShaderProgram));
+    }
     prog->id = id;
     cxListAdd(glctx->shaders, prog);
     return prog;

mercurial