[PATCH weston] simple-egl: Minor fix ups.

Scott Moreau oreaus at gmail.com
Wed Jun 13 16:42:21 PDT 2012


1) Fix typo when initializing variables
2) Remove gratuitous glFlush() call
3) Localize shader program variable
---
 clients/simple-egl.c |   28 +++++++++++++---------------
 1 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/clients/simple-egl.c b/clients/simple-egl.c
index 4cb5bc7..cceca9e 100644
--- a/clients/simple-egl.c
+++ b/clients/simple-egl.c
@@ -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);
-- 
1.7.7.6



More information about the wayland-devel mailing list