summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@googlemail.com>2012-04-22 16:38:53 +0200
committerDavid Herrmann <dh.herrmann@googlemail.com>2012-04-22 16:38:53 +0200
commit6c23507910e883c8aae4db1488634e6c76e39b77 (patch)
tree8cb3438327a46299380520184009e18e5e357c36
parent0310a4c054447c2123fc15e86c6b9a498b88dc7b (diff)
console: avoid unneeded matrix transformations
We now assume a screen of -1,-1 to 1,1 instead of 0,0 to 1,1 to avoid matrix transformations. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
-rw-r--r--src/console.c2
-rw-r--r--src/font_pango.c5
2 files changed, 3 insertions, 4 deletions
diff --git a/src/console.c b/src/console.c
index 8bc5fb2..771473a 100644
--- a/src/console.c
+++ b/src/console.c
@@ -768,8 +768,6 @@ static void kmscon_buffer_draw(struct kmscon_buffer *buf,
}
gl_m4_identity(m);
- gl_m4_translate(m, -1, -1, 0);
- gl_m4_scale(m, 2, 2, 1);
font_screen_draw_perform(fscr, m);
}
diff --git a/src/font_pango.c b/src/font_pango.c
index 069b654..835c4f2 100644
--- a/src/font_pango.c
+++ b/src/font_pango.c
@@ -729,14 +729,15 @@ int font_screen_draw_char(struct font_screen *screen, kmscon_symbol_t ch,
int font_screen_draw_perform(struct font_screen *screen, float *m)
{
- static const float val[] = { 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1 };
+ static const float ver[] = { -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1 };
+ static const float tex[] = { 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1 };
if (!screen)
return -EINVAL;
gl_tex_load(screen->tex, screen->buf->width, screen->buf->stride,
screen->buf->height, screen->buf->data);
- gl_shader_draw_tex(screen->shader, val, val, 6, screen->tex, m);
+ gl_shader_draw_tex(screen->shader, ver, tex, 6, screen->tex, m);
cairo_restore(screen->cr);
return 0;