ephyr: Don't open-code glamor_compile_glsl_prog
Reviewed-by: Emma Anholt <emma@anholt.net>
This commit is contained in:
		
							parent
							
								
									ea92cd2272
								
							
						
					
					
						commit
						22772f0068
					
				| 
						 | 
					@ -69,37 +69,6 @@ struct ephyr_glamor {
 | 
				
			||||||
    GLuint vao, vbo;
 | 
					    GLuint vao, vbo;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static GLint
 | 
					 | 
				
			||||||
ephyr_glamor_compile_glsl_prog(GLenum type, const char *source)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    GLint ok;
 | 
					 | 
				
			||||||
    GLint prog;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    prog = glCreateShader(type);
 | 
					 | 
				
			||||||
    glShaderSource(prog, 1, (const GLchar **) &source, NULL);
 | 
					 | 
				
			||||||
    glCompileShader(prog);
 | 
					 | 
				
			||||||
    glGetShaderiv(prog, GL_COMPILE_STATUS, &ok);
 | 
					 | 
				
			||||||
    if (!ok) {
 | 
					 | 
				
			||||||
        GLchar *info;
 | 
					 | 
				
			||||||
        GLint size;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        glGetShaderiv(prog, GL_INFO_LOG_LENGTH, &size);
 | 
					 | 
				
			||||||
        info = malloc(size);
 | 
					 | 
				
			||||||
        if (info) {
 | 
					 | 
				
			||||||
            glGetShaderInfoLog(prog, size, NULL, info);
 | 
					 | 
				
			||||||
            ErrorF("Failed to compile %s: %s\n",
 | 
					 | 
				
			||||||
                   type == GL_FRAGMENT_SHADER ? "FS" : "VS", info);
 | 
					 | 
				
			||||||
            ErrorF("Program source:\n%s", source);
 | 
					 | 
				
			||||||
            free(info);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            ErrorF("Failed to get shader compilation info.\n");
 | 
					 | 
				
			||||||
        FatalError("GLSL compile failure\n");
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return prog;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static GLuint
 | 
					static GLuint
 | 
				
			||||||
ephyr_glamor_build_glsl_prog(GLuint vs, GLuint fs)
 | 
					ephyr_glamor_build_glsl_prog(GLuint vs, GLuint fs)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -156,8 +125,8 @@ ephyr_glamor_setup_texturing_shader(struct ephyr_glamor *glamor)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    GLuint fs, vs, prog;
 | 
					    GLuint fs, vs, prog;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    vs = ephyr_glamor_compile_glsl_prog(GL_VERTEX_SHADER, vs_source);
 | 
					    vs = glamor_compile_glsl_prog(GL_VERTEX_SHADER, vs_source);
 | 
				
			||||||
    fs = ephyr_glamor_compile_glsl_prog(GL_FRAGMENT_SHADER, fs_source);
 | 
					    fs = glamor_compile_glsl_prog(GL_FRAGMENT_SHADER, fs_source);
 | 
				
			||||||
    prog = ephyr_glamor_build_glsl_prog(vs, fs);
 | 
					    prog = ephyr_glamor_build_glsl_prog(vs, fs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    glamor->texture_shader = prog;
 | 
					    glamor->texture_shader = prog;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue