simple-egl: Minor fix ups.
authorScott Moreau <oreaus@gmail.com>
Wed, 13 Jun 2012 23:42:21 +0000 (17:42 -0600)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 15 Jun 2012 14:20:36 +0000 (10:20 -0400)
1) Fix typo when initializing variables
2) Remove gratuitous glFlush() call
3) Localize shader program variable

clients/simple-egl.c

index 4cb5bc7..cceca9e 100644 (file)
@@ -61,7 +61,6 @@ struct window {
                GLuint fbo;
                GLuint color_rbo;
 
-               GLuint program;
                GLuint rotation_uniform;
 
                GLuint pos;
@@ -175,6 +174,7 @@ static void
 init_gl(struct window *window)
 {
        GLuint frag, vert;
+       GLuint program;
        GLint status;
 
        glViewport(0, 0, window->geometry.width, window->geometry.height);
@@ -182,31 +182,31 @@ init_gl(struct window *window)
        frag = create_shader(window, frag_shader_text, GL_FRAGMENT_SHADER);
        vert = create_shader(window, vert_shader_text, GL_VERTEX_SHADER);
 
-       window->gl.program = glCreateProgram();
-       glAttachShader(window->gl.program, frag);
-       glAttachShader(window->gl.program, vert);
-       glLinkProgram(window->gl.program);
+       program = glCreateProgram();
+       glAttachShader(program, frag);
+       glAttachShader(program, vert);
+       glLinkProgram(program);
 
-       glGetProgramiv(window->gl.program, GL_LINK_STATUS, &status);
+       glGetProgramiv(program, GL_LINK_STATUS, &status);
        if (!status) {
                char log[1000];
                GLsizei len;
-               glGetProgramInfoLog(window->gl.program, 1000, &len, log);
+               glGetProgramInfoLog(program, 1000, &len, log);
                fprintf(stderr, "Error: linking:\n%*s\n", len, log);
                exit(1);
        }
 
-       glUseProgram(window->gl.program);
+       glUseProgram(program);
        
        window->gl.pos = 0;
-       window->gl.pos = 1;
+       window->gl.col = 1;
 
-       glBindAttribLocation(window->gl.program, window->gl.pos, "pos");
-       glBindAttribLocation(window->gl.program, window->gl.col, "color");
-       glLinkProgram(window->gl.program);
+       glBindAttribLocation(program, window->gl.pos, "pos");
+       glBindAttribLocation(program, window->gl.col, "color");
+       glLinkProgram(program);
 
        window->gl.rotation_uniform =
-               glGetUniformLocation(window->gl.program, "rotation");
+               glGetUniformLocation(program, "rotation");
 }
 
 static void
@@ -340,8 +340,6 @@ redraw(void *data, struct wl_callback *callback, uint32_t time)
        glDisableVertexAttribArray(window->gl.pos);
        glDisableVertexAttribArray(window->gl.col);
 
-       glFlush();
-
        eglSwapBuffers(window->display->egl.dpy, window->egl_surface);
        if (callback)
                wl_callback_destroy(callback);