Revision 7b5d76da hw/vga.c
b/hw/vga.c | ||
---|---|---|
1161 | 1161 |
case 16: |
1162 | 1162 |
return 2; |
1163 | 1163 |
case 32: |
1164 |
return 3; |
|
1164 |
if (is_surface_bgr(s->surface)) |
|
1165 |
return 4; |
|
1166 |
else |
|
1167 |
return 3; |
|
1165 | 1168 |
} |
1166 | 1169 |
} |
1167 | 1170 |
|
... | ... | |
1627 | 1630 |
if (depth == 32) { |
1628 | 1631 |
#endif |
1629 | 1632 |
if (is_graphic_console()) { |
1630 |
qemu_free_displaysurface(s->ds->surface);
|
|
1633 |
qemu_free_displaysurface(s->ds); |
|
1631 | 1634 |
s->ds->surface = qemu_create_displaysurface_from(disp_width, height, depth, |
1632 | 1635 |
s->line_offset, |
1633 | 1636 |
s->vram_ptr + (s->start_addr * 4)); |
... | ... | |
2619 | 2622 |
dcl.dpy_resize = vga_save_dpy_resize; |
2620 | 2623 |
dcl.dpy_refresh = vga_save_dpy_refresh; |
2621 | 2624 |
register_displaychangelistener(ds, &dcl); |
2622 |
ds->surface = qemu_create_displaysurface(w, h, 32, 4 * w);
|
|
2625 |
ds->surface = qemu_create_displaysurface(ds, w, h);
|
|
2623 | 2626 |
|
2624 | 2627 |
s->ds = ds; |
2625 | 2628 |
s->graphic_mode = -1; |
... | ... | |
2627 | 2630 |
|
2628 | 2631 |
ppm_save(filename, ds->surface); |
2629 | 2632 |
|
2630 |
qemu_free_displaysurface(ds->surface);
|
|
2633 |
qemu_free_displaysurface(ds); |
|
2631 | 2634 |
s->ds = saved_ds; |
2632 | 2635 |
} |
2633 | 2636 |
|
Also available in: Unified diff