35
35
#error unsupport depth
39
#define PIXEL_NAME glue(DEPTH, bgr)
41
#define PIXEL_NAME DEPTH
42
#endif /* BGR_FORMAT */
44
#if DEPTH != 15 && !defined(BGR_FORMAT)
40
46
static inline void glue(vga_draw_glyph_line_, DEPTH)(uint8_t *d,
41
47
uint32_t font_data,
337
#endif /* DEPTH != 15 */
345
static void glue(vga_draw_line15_, DEPTH)(VGAState *s1, uint8_t *d,
346
const uint8_t *s, int width)
348
#if DEPTH == 15 && defined(WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
349
memcpy(d, s, width * 2);
356
v = lduw_raw((void *)s);
360
((PIXEL_TYPE *)d)[0] = glue(rgb_to_pixel, DEPTH)(r, g, b);
370
static void glue(vga_draw_line16_, DEPTH)(VGAState *s1, uint8_t *d,
371
const uint8_t *s, int width)
373
#if DEPTH == 16 && defined(WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
374
memcpy(d, s, width * 2);
381
v = lduw_raw((void *)s);
385
((PIXEL_TYPE *)d)[0] = glue(rgb_to_pixel, DEPTH)(r, g, b);
395
static void glue(vga_draw_line24_, DEPTH)(VGAState *s1, uint8_t *d,
396
const uint8_t *s, int width)
403
#if defined(TARGET_WORDS_BIGENDIAN)
412
((PIXEL_TYPE *)d)[0] = glue(rgb_to_pixel, DEPTH)(r, g, b);
421
static void glue(vga_draw_line32_, DEPTH)(VGAState *s1, uint8_t *d,
422
const uint8_t *s, int width)
424
#if DEPTH == 32 && defined(WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
425
memcpy(d, s, width * 4);
432
#if defined(TARGET_WORDS_BIGENDIAN)
441
((PIXEL_TYPE *)d)[0] = glue(rgb_to_pixel, DEPTH)(r, g, b);
449
343
void glue(vga_draw_cursor_line_, DEPTH)(uint8_t *d1,
450
344
const uint8_t *src1,
451
345
int poffset, int w,
409
#endif /* DEPTH != 15 */
417
static void glue(vga_draw_line15_, PIXEL_NAME)(VGAState *s1, uint8_t *d,
418
const uint8_t *s, int width)
420
#if DEPTH == 15 && defined(WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
421
memcpy(d, s, width * 2);
428
v = lduw_raw((void *)s);
432
((PIXEL_TYPE *)d)[0] = glue(rgb_to_pixel, PIXEL_NAME)(r, g, b);
442
static void glue(vga_draw_line16_, PIXEL_NAME)(VGAState *s1, uint8_t *d,
443
const uint8_t *s, int width)
445
#if DEPTH == 16 && defined(WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
446
memcpy(d, s, width * 2);
453
v = lduw_raw((void *)s);
457
((PIXEL_TYPE *)d)[0] = glue(rgb_to_pixel, PIXEL_NAME)(r, g, b);
467
static void glue(vga_draw_line24_, PIXEL_NAME)(VGAState *s1, uint8_t *d,
468
const uint8_t *s, int width)
475
#if defined(TARGET_WORDS_BIGENDIAN)
484
((PIXEL_TYPE *)d)[0] = glue(rgb_to_pixel, PIXEL_NAME)(r, g, b);
493
static void glue(vga_draw_line32_, PIXEL_NAME)(VGAState *s1, uint8_t *d,
494
const uint8_t *s, int width)
496
#if DEPTH == 32 && defined(WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN) && !defined(BGR_FORMAT)
497
memcpy(d, s, width * 4);
504
#if defined(TARGET_WORDS_BIGENDIAN)
513
((PIXEL_TYPE *)d)[0] = glue(rgb_to_pixel, PIXEL_NAME)(r, g, b);
516
520
#undef PUT_PIXEL2
519
523
#undef PIXEL_TYPE