mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
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
This commit is contained in:
parent
602dafcf43
commit
714fa308a3
10 changed files with 253 additions and 231 deletions
|
@ -115,8 +115,9 @@ static drawfn glue(pl110_draw_fn_,BITS)[36] =
|
|||
#define FN_4(x, y) FN_2(x, y) FN_2(x+2, y)
|
||||
#define FN_8(y) FN_4(0, y) FN_4(4, y)
|
||||
|
||||
static void glue(pl110_draw_line1_,NAME)(uint32_t *pallette, uint8_t *d, const uint8_t *src, int width)
|
||||
static void glue(pl110_draw_line1_,NAME)(void *opaque, uint8_t *d, const uint8_t *src, int width, int deststep)
|
||||
{
|
||||
uint32_t *pallette = opaque;
|
||||
uint32_t data;
|
||||
while (width > 0) {
|
||||
data = *(uint32_t *)src;
|
||||
|
@ -142,8 +143,9 @@ static void glue(pl110_draw_line1_,NAME)(uint32_t *pallette, uint8_t *d, const u
|
|||
}
|
||||
}
|
||||
|
||||
static void glue(pl110_draw_line2_,NAME)(uint32_t *pallette, uint8_t *d, const uint8_t *src, int width)
|
||||
static void glue(pl110_draw_line2_,NAME)(void *opaque, uint8_t *d, const uint8_t *src, int width, int deststep)
|
||||
{
|
||||
uint32_t *pallette = opaque;
|
||||
uint32_t data;
|
||||
while (width > 0) {
|
||||
data = *(uint32_t *)src;
|
||||
|
@ -169,8 +171,9 @@ static void glue(pl110_draw_line2_,NAME)(uint32_t *pallette, uint8_t *d, const u
|
|||
}
|
||||
}
|
||||
|
||||
static void glue(pl110_draw_line4_,NAME)(uint32_t *pallette, uint8_t *d, const uint8_t *src, int width)
|
||||
static void glue(pl110_draw_line4_,NAME)(void *opaque, uint8_t *d, const uint8_t *src, int width, int deststep)
|
||||
{
|
||||
uint32_t *pallette = opaque;
|
||||
uint32_t data;
|
||||
while (width > 0) {
|
||||
data = *(uint32_t *)src;
|
||||
|
@ -196,8 +199,9 @@ static void glue(pl110_draw_line4_,NAME)(uint32_t *pallette, uint8_t *d, const u
|
|||
}
|
||||
}
|
||||
|
||||
static void glue(pl110_draw_line8_,NAME)(uint32_t *pallette, uint8_t *d, const uint8_t *src, int width)
|
||||
static void glue(pl110_draw_line8_,NAME)(void *opaque, uint8_t *d, const uint8_t *src, int width, int deststep)
|
||||
{
|
||||
uint32_t *pallette = opaque;
|
||||
uint32_t data;
|
||||
while (width > 0) {
|
||||
data = *(uint32_t *)src;
|
||||
|
@ -219,7 +223,7 @@ static void glue(pl110_draw_line8_,NAME)(uint32_t *pallette, uint8_t *d, const u
|
|||
}
|
||||
}
|
||||
|
||||
static void glue(pl110_draw_line16_,NAME)(uint32_t *pallette, uint8_t *d, const uint8_t *src, int width)
|
||||
static void glue(pl110_draw_line16_,NAME)(void *opaque, uint8_t *d, const uint8_t *src, int width, int deststep)
|
||||
{
|
||||
uint32_t data;
|
||||
unsigned int r, g, b;
|
||||
|
@ -265,7 +269,7 @@ static void glue(pl110_draw_line16_,NAME)(uint32_t *pallette, uint8_t *d, const
|
|||
}
|
||||
}
|
||||
|
||||
static void glue(pl110_draw_line32_,NAME)(uint32_t *pallette, uint8_t *d, const uint8_t *src, int width)
|
||||
static void glue(pl110_draw_line32_,NAME)(void *opaque, uint8_t *d, const uint8_t *src, int width, int deststep)
|
||||
{
|
||||
uint32_t data;
|
||||
unsigned int r, g, b;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue