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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user