ioemu: simplyfing vga_draw_text code
PATCH 1/1 ioemu: simplyfing vga_draw_text code
Hi all,
the last patch I submitted to clean up the DisplayState interface introduces a new static variable called old_depth in vga.c. It would be better to add a last_depth field instead in the VGAState structure for uniformity with the rest of the code. Thanks to Samuel for the suggestion.
Regards,
Stefano Stabellini
Signed-off-by Stefano Stabellini <[email protected]>
tools/ioemu/hw/vga.c +5 -10
@@ -1065,8 +1065,6 @@ typedef unsigned int rgb_to_pixel_dup_fustatic rgb_to_pixel_dup_func *rgb_to_pixel_dup_table[NB_DEPTHS ]; -static int old_depth =0 ; -/* * Text mode update * Missing:
@@ -1115,13 +1113,10 @@ static void vga_draw_text(VGAState *s, i s->last_scr_width = width * cw; s->last_scr_height = height * cheight; -if (s->ds->dpy_resize_shared && old_depth) { -dpy_resize_shared (s->ds, s->last_scr_width, s->last_scr_height,0 , s->last_scr_width * (s->ds->depth /8 ),NULL ); - old_depth =0 ; - full_update =1 ; - }else if (width != s->last_width || height != s->last_height || - cw != s->last_cw || cheight != s->last_ch) { +if (width != s->last_width || height != s->last_height || + cw != s->last_cw || cheight != s->last_ch || s->last_depth) {dpy_resize (s->ds, s->last_scr_width, s->last_scr_height); + s->last_depth =0 ; full_update =1 ; } s->last_width = width;
@@ -1532,14 +1527,14 @@ static void vga_draw_graphic(VGAState *sif (s->line_offset != s->last_line_offset || disp_width != s->last_width || height != s->last_height || - old_depth != depth) { + s->last_depth != depth) {dpy_resize_shared (s->ds, disp_width, height, depth, s->line_offset, s->vram_ptr + (s->start_addr *4 )); s->last_scr_width = disp_width; s->last_scr_height = height; s->last_width = disp_width; s->last_height = height; s->last_line_offset = s->line_offset; - old_depth = depth; + s->last_depth = depth; full_update =1 ; }else if (s->ds->shared_buf && (full_update || s->ds->data != s->vram_ptr + (s->start_addr *4 ))) s->ds->dpy_setdata (s->ds, s->vram_ptr + (s->start_addr *4 ));
tools/ioemu/hw/vga_int.h +1 -0
@@ -135,6 +135,7 @@uint8_t last_cw, last_ch; \uint32_t last_width, last_height;/* in chars or pixels */ \uint32_t last_scr_width, last_scr_height;/* in pixels */ \ +uint32_t last_depth;/* in bits */ \uint8_t cursor_start, cursor_end; \uint32_t cursor_offset; \ unsigned int (*rgb_to_pixel)(unsigned int r, \
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel