Revision 12c7e75a hw/vga.c
b/hw/vga.c | ||
---|---|---|
1584 | 1584 |
*/ |
1585 | 1585 |
static void vga_draw_graphic(VGAState *s, int full_update) |
1586 | 1586 |
{ |
1587 |
int y1, y, update, page_min, page_max, linesize, y_start, double_scan, mask, depth; |
|
1588 |
int width, height, shift_control, line_offset, page0, page1, bwidth, bits; |
|
1587 |
int y1, y, update, linesize, y_start, double_scan, mask, depth; |
|
1588 |
int width, height, shift_control, line_offset, bwidth, bits; |
|
1589 |
ram_addr_t page0, page1, page_min, page_max; |
|
1589 | 1590 |
int disp_width, multi_scan, multi_run; |
1590 | 1591 |
uint8_t *d; |
1591 | 1592 |
uint32_t v, addr1, addr; |
... | ... | |
1723 | 1724 |
addr1 = (s->start_addr * 4); |
1724 | 1725 |
bwidth = (width * bits + 7) / 8; |
1725 | 1726 |
y_start = -1; |
1726 |
page_min = 0x7fffffff;
|
|
1727 |
page_max = -1;
|
|
1727 |
page_min = -1;
|
|
1728 |
page_max = 0;
|
|
1728 | 1729 |
d = ds_get_data(s->ds); |
1729 | 1730 |
linesize = ds_get_linesize(s->ds); |
1730 | 1731 |
y1 = 0; |
... | ... | |
1791 | 1792 |
disp_width, y - y_start); |
1792 | 1793 |
} |
1793 | 1794 |
/* reset modified pages */ |
1794 |
if (page_max != -1) {
|
|
1795 |
if (page_max >= page_min) {
|
|
1795 | 1796 |
cpu_physical_memory_reset_dirty(page_min, page_max + TARGET_PAGE_SIZE, |
1796 | 1797 |
VGA_DIRTY_FLAG); |
1797 | 1798 |
} |
Also available in: Unified diff