cross compile build script
[fishladder.git] / vg / vg_shader.h
index ede1b1311e31d53c03e8cd9fe3c44cf25916faed..ff8a5f0dc143c6126167394579fc4cced7922499 100644 (file)
@@ -19,6 +19,7 @@ static inline int static_str_index( const char *list[], int len, const char *str
 }
 #pragma GCC diagnostic pop
 
+#define SHADER_NAME( NAME ) (NAME##_static_shader.program)
 #define SHADER_USE( NAME ) glUseProgram( NAME##_static_shader.program )
 
 #define SHADER_UNIFORM( NAME, U ) NAME##_shader_uniforms[ STR_STATIC_INDEX( NAME##_shader_names, U ) ]
@@ -83,7 +84,7 @@ static int vg_shader_compile( struct vg_shader *shader )
 {
        vg_info( "Compile shader '%s'\n", shader->sym );
        
-       GLuint vert, frag, geo;
+       GLuint vert, frag, geo = 0;
        
        vert = vg_shader_subshader( shader->src_vert, GL_VERTEX_SHADER );
        frag = vg_shader_subshader( shader->src_frag, GL_FRAGMENT_SHADER );
@@ -100,7 +101,7 @@ static int vg_shader_compile( struct vg_shader *shader )
        }
        
        shader->program = glCreateProgram();
-       if( shader->src_geo )
+       if( geo )
                glAttachShader( shader->program, geo );
                
        glAttachShader( shader->program, vert );
@@ -110,7 +111,7 @@ static int vg_shader_compile( struct vg_shader *shader )
        glDeleteShader( vert );
        glDeleteShader( frag );
        
-       if( shader->src_geo )
+       if( geo )
                glDeleteShader( geo );
                
        // Check for link errors