Fix vga_screen_dump_blank() PPM generation
vga_screen_dump_blank() was not generating a valid PPM file: the width of the image made no sense (why it was multiplied by sizeof(uint32_t)?), and there was only one sample per pixel, instead of three. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
aea2a33c73
commit
77d4db015c
5
hw/vga.c
5
hw/vga.c
|
@ -2584,8 +2584,9 @@ static void vga_screen_dump_blank(VGAState *s, const char *filename)
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
unsigned int y, x, w, h;
|
unsigned int y, x, w, h;
|
||||||
|
unsigned char blank_sample[3] = { 0, 0, 0 };
|
||||||
|
|
||||||
w = s->last_scr_width * sizeof(uint32_t);
|
w = s->last_scr_width;
|
||||||
h = s->last_scr_height;
|
h = s->last_scr_height;
|
||||||
|
|
||||||
f = fopen(filename, "wb");
|
f = fopen(filename, "wb");
|
||||||
|
@ -2594,7 +2595,7 @@ static void vga_screen_dump_blank(VGAState *s, const char *filename)
|
||||||
fprintf(f, "P6\n%d %d\n%d\n", w, h, 255);
|
fprintf(f, "P6\n%d %d\n%d\n", w, h, 255);
|
||||||
for (y = 0; y < h; y++) {
|
for (y = 0; y < h; y++) {
|
||||||
for (x = 0; x < w; x++) {
|
for (x = 0; x < w; x++) {
|
||||||
fputc(0, f);
|
fwrite(blank_sample, 3, 1, f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
Loading…
Reference in a new issue