summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-10-12 12:56:11 -0400
committerKristian Høgsberg <krh@redhat.com>2008-11-06 10:51:58 -0500
commit48a33baec7b617b63efa15fe16892b3c76f8c89e (patch)
tree136982be83bde2dd8f4d16a03faffcb3d1267a51
parenta234e7026834605312954de4c36b2437636bc0d8 (diff)
Use triangle strips for drawing surfaces.
-rw-r--r--egl-compositor.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/egl-compositor.c b/egl-compositor.c
index e4f838a..09793b8 100644
--- a/egl-compositor.c
+++ b/egl-compositor.c
@@ -40,7 +40,7 @@ repaint(void *data)
struct wl_surface *surface;
struct surface_data *sd;
GLint vertices[12];
- GLint tex_coords[8] = { 1, 0, 1, 1, 0, 1, 0, 0 };
+ GLint tex_coords[8] = { 1, 0, 1, 1, 0, 0, 0, 1 };
GLuint indices[4] = { 0, 1, 2, 3 };
/* This part is where we actually copy the buffer to screen.
@@ -64,11 +64,11 @@ repaint(void *data)
vertices[5] = 0;
vertices[6] = sd->map.x + sd->map.width;
- vertices[7] = sd->map.y + sd->map.height;
+ vertices[7] = sd->map.y;
vertices[8] = 0;
vertices[9] = sd->map.x + sd->map.width;
- vertices[10] = sd->map.y;
+ vertices[10] = sd->map.y + sd->map.height;
vertices[11] = 0;
glBindTexture(GL_TEXTURE_2D, sd->texture);
@@ -80,7 +80,7 @@ repaint(void *data)
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(3, GL_INT, 0, vertices);
glTexCoordPointer(2, GL_INT, 0, tex_coords);
- glDrawElements(GL_QUADS, 4, GL_UNSIGNED_INT, indices);
+ glDrawElements(GL_TRIANGLE_STRIP, 4, GL_UNSIGNED_INT, indices);
}
wl_surface_iterator_destroy(iterator);