summary refs log tree commit diff stats
path: root/hw/omap_lcd_template.h
diff options
context:
space:
mode:
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2009-04-01 12:27:59 +0000
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2009-04-01 12:27:59 +0000
commit714fa308a3f86e1dc55021ff1282c1afe6954d3d (patch)
tree9377d95debe17aeda17cbcc2042ffff1f9ff59d0 /hw/omap_lcd_template.h
parent602dafcf43d8a35ff77e33377c1f258515812e5b (diff)
downloadfocaccia-qemu-714fa308a3f86e1dc55021ff1282c1afe6954d3d.tar.gz
focaccia-qemu-714fa308a3f86e1dc55021ff1282c1afe6954d3d.zip
Implement and use shared memory framebuffer device rendering reoutine.
Use DMA mapping API.

Signed-off-by: Paul Brook <paul@codesourcery.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6965 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/omap_lcd_template.h')
-rw-r--r--hw/omap_lcd_template.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/hw/omap_lcd_template.h b/hw/omap_lcd_template.h
index 4e84fa1d9a..0590e45010 100644
--- a/hw/omap_lcd_template.h
+++ b/hw/omap_lcd_template.h
@@ -43,9 +43,10 @@
 /*
  * 2-bit colour
  */
-static void glue(draw_line2_, DEPTH)(
-                uint8_t *d, const uint8_t *s, int width, const uint16_t *pal)
+static void glue(draw_line2_, DEPTH)(void *opaque,
+                uint8_t *d, const uint8_t *s, int width, int deststep)
 {
+    uint16_t *pal = opaque;
     uint8_t v, r, g, b;
 
     do {
@@ -81,9 +82,10 @@ static void glue(draw_line2_, DEPTH)(
 /*
  * 4-bit colour
  */
-static void glue(draw_line4_, DEPTH)(
-                uint8_t *d, const uint8_t *s, int width, const uint16_t *pal)
+static void glue(draw_line4_, DEPTH)(void *opaque,
+                uint8_t *d, const uint8_t *s, int width, int deststep)
 {
+    uint16_t *pal = opaque;
     uint8_t v, r, g, b;
 
     do {
@@ -107,9 +109,10 @@ static void glue(draw_line4_, DEPTH)(
 /*
  * 8-bit colour
  */
-static void glue(draw_line8_, DEPTH)(
-                uint8_t *d, const uint8_t *s, int width, const uint16_t *pal)
+static void glue(draw_line8_, DEPTH)(void *opaque,
+                uint8_t *d, const uint8_t *s, int width, int deststep)
 {
+    uint16_t *pal = opaque;
     uint8_t v, r, g, b;
 
     do {
@@ -126,8 +129,8 @@ static void glue(draw_line8_, DEPTH)(
 /*
  * 12-bit colour
  */
-static void glue(draw_line12_, DEPTH)(
-                uint8_t *d, const uint8_t *s, int width, const uint16_t *pal)
+static void glue(draw_line12_, DEPTH)(void *opaque,
+                uint8_t *d, const uint8_t *s, int width, int deststep)
 {
     uint16_t v;
     uint8_t r, g, b;
@@ -146,8 +149,8 @@ static void glue(draw_line12_, DEPTH)(
 /*
  * 16-bit colour
  */
-static void glue(draw_line16_, DEPTH)(
-                uint8_t *d, const uint8_t *s, int width, const uint16_t *pal)
+static void glue(draw_line16_, DEPTH)(void *opaque,
+                uint8_t *d, const uint8_t *s, int width, int deststep)
 {
 #if DEPTH == 16 && defined(WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
     memcpy(d, s, width * 2);