simple-egl: Minor fix ups.

1) Fix typo when initializing variables
2) Remove gratuitous glFlush() call
3) Localize shader program variable
This commit is contained in:
Scott Moreau
2012-06-13 17:42:21 -06:00
committed by Kristian Høgsberg
parent bf1e8660ed
commit 3ea23d0767
+13 -15
View File
@@ -61,7 +61,6 @@ struct window {
GLuint fbo; GLuint fbo;
GLuint color_rbo; GLuint color_rbo;
GLuint program;
GLuint rotation_uniform; GLuint rotation_uniform;
GLuint pos; GLuint pos;
@@ -175,6 +174,7 @@ static void
init_gl(struct window *window) init_gl(struct window *window)
{ {
GLuint frag, vert; GLuint frag, vert;
GLuint program;
GLint status; GLint status;
glViewport(0, 0, window->geometry.width, window->geometry.height); 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); frag = create_shader(window, frag_shader_text, GL_FRAGMENT_SHADER);
vert = create_shader(window, vert_shader_text, GL_VERTEX_SHADER); vert = create_shader(window, vert_shader_text, GL_VERTEX_SHADER);
window->gl.program = glCreateProgram(); program = glCreateProgram();
glAttachShader(window->gl.program, frag); glAttachShader(program, frag);
glAttachShader(window->gl.program, vert); glAttachShader(program, vert);
glLinkProgram(window->gl.program); glLinkProgram(program);
glGetProgramiv(window->gl.program, GL_LINK_STATUS, &status); glGetProgramiv(program, GL_LINK_STATUS, &status);
if (!status) { if (!status) {
char log[1000]; char log[1000];
GLsizei len; GLsizei len;
glGetProgramInfoLog(window->gl.program, 1000, &len, log); glGetProgramInfoLog(program, 1000, &len, log);
fprintf(stderr, "Error: linking:\n%*s\n", len, log); fprintf(stderr, "Error: linking:\n%*s\n", len, log);
exit(1); exit(1);
} }
glUseProgram(window->gl.program); glUseProgram(program);
window->gl.pos = 0; window->gl.pos = 0;
window->gl.pos = 1; window->gl.col = 1;
glBindAttribLocation(window->gl.program, window->gl.pos, "pos"); glBindAttribLocation(program, window->gl.pos, "pos");
glBindAttribLocation(window->gl.program, window->gl.col, "color"); glBindAttribLocation(program, window->gl.col, "color");
glLinkProgram(window->gl.program); glLinkProgram(program);
window->gl.rotation_uniform = window->gl.rotation_uniform =
glGetUniformLocation(window->gl.program, "rotation"); glGetUniformLocation(program, "rotation");
} }
static void static void
@@ -340,8 +340,6 @@ redraw(void *data, struct wl_callback *callback, uint32_t time)
glDisableVertexAttribArray(window->gl.pos); glDisableVertexAttribArray(window->gl.pos);
glDisableVertexAttribArray(window->gl.col); glDisableVertexAttribArray(window->gl.col);
glFlush();
eglSwapBuffers(window->display->egl.dpy, window->egl_surface); eglSwapBuffers(window->display->egl.dpy, window->egl_surface);
if (callback) if (callback)
wl_callback_destroy(callback); wl_callback_destroy(callback);