vga: Remove rgb_to_pixel indirection
We always use rgb_to_pixel32 nowadays. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
		
							parent
							
								
									46c3a8c8eb
								
							
						
					
					
						commit
						d3c2343af0
					
				| @ -29,6 +29,7 @@ | ||||
| #include "hw/hw.h" | ||||
| #include "hw/pci/pci.h" | ||||
| #include "ui/console.h" | ||||
| #include "ui/pixel_ops.h" | ||||
| #include "vga_int.h" | ||||
| #include "hw/loader.h" | ||||
| 
 | ||||
| @ -2212,6 +2213,8 @@ static void cirrus_cursor_draw_line(VGACommonState *s1, uint8_t *d1, int scr_y) | ||||
|     } else { | ||||
|         src += (s->vga.sr[0x13] & 0x3f) * 256; | ||||
|         src += (scr_y - s->hw_cursor_y) * 4; | ||||
| 
 | ||||
| 
 | ||||
|         poffset = 128; | ||||
|         content = ((uint32_t *)src)[0] | | ||||
|             ((uint32_t *)(src + 128))[0]; | ||||
| @ -2229,12 +2232,12 @@ static void cirrus_cursor_draw_line(VGACommonState *s1, uint8_t *d1, int scr_y) | ||||
|         x2 = s->vga.last_scr_width; | ||||
|     w = x2 - x1; | ||||
|     palette = s->cirrus_hidden_palette; | ||||
|     color0 = s->vga.rgb_to_pixel(c6_to_8(palette[0x0 * 3]), | ||||
|                                  c6_to_8(palette[0x0 * 3 + 1]), | ||||
|                                  c6_to_8(palette[0x0 * 3 + 2])); | ||||
|     color1 = s->vga.rgb_to_pixel(c6_to_8(palette[0xf * 3]), | ||||
|                                  c6_to_8(palette[0xf * 3 + 1]), | ||||
|                                  c6_to_8(palette[0xf * 3 + 2])); | ||||
|     color0 = rgb_to_pixel32(c6_to_8(palette[0x0 * 3]), | ||||
|                             c6_to_8(palette[0x0 * 3 + 1]), | ||||
|                             c6_to_8(palette[0x0 * 3 + 2])); | ||||
|     color1 = rgb_to_pixel32(c6_to_8(palette[0xf * 3]), | ||||
|                             c6_to_8(palette[0xf * 3 + 1]), | ||||
|                             c6_to_8(palette[0xf * 3 + 2])); | ||||
|     bpp = surface_bytes_per_pixel(surface); | ||||
|     d1 += x1 * bpp; | ||||
|     switch (surface_bits_per_pixel(surface)) { | ||||
|  | ||||
| @ -1011,13 +1011,6 @@ typedef void vga_draw_line_func(VGACommonState *s1, uint8_t *d, | ||||
| 
 | ||||
| #include "vga_template.h" | ||||
| 
 | ||||
| static unsigned int rgb_to_pixel32_dup(unsigned int r, unsigned int g, unsigned b) | ||||
| { | ||||
|     unsigned int col; | ||||
|     col = rgb_to_pixel32(r, g, b); | ||||
|     return col; | ||||
| } | ||||
| 
 | ||||
| /* return true if the palette was modified */ | ||||
| static int update_palette16(VGACommonState *s) | ||||
| { | ||||
| @ -1034,9 +1027,9 @@ static int update_palette16(VGACommonState *s) | ||||
|             v = ((s->ar[VGA_ATC_COLOR_PAGE] & 0xc) << 4) | (v & 0x3f); | ||||
|         } | ||||
|         v = v * 3; | ||||
|         col = s->rgb_to_pixel(c6_to_8(s->palette[v]), | ||||
|                               c6_to_8(s->palette[v + 1]), | ||||
|                               c6_to_8(s->palette[v + 2])); | ||||
|         col = rgb_to_pixel32(c6_to_8(s->palette[v]), | ||||
|                              c6_to_8(s->palette[v + 1]), | ||||
|                              c6_to_8(s->palette[v + 2])); | ||||
|         if (col != palette[i]) { | ||||
|             full_update = 1; | ||||
|             palette[i] = col; | ||||
| @ -1056,13 +1049,13 @@ static int update_palette256(VGACommonState *s) | ||||
|     v = 0; | ||||
|     for(i = 0; i < 256; i++) { | ||||
|         if (s->dac_8bit) { | ||||
|           col = s->rgb_to_pixel(s->palette[v], | ||||
|                                 s->palette[v + 1], | ||||
|                                 s->palette[v + 2]); | ||||
|             col = rgb_to_pixel32(s->palette[v], | ||||
|                                  s->palette[v + 1], | ||||
|                                  s->palette[v + 2]); | ||||
|         } else { | ||||
|           col = s->rgb_to_pixel(c6_to_8(s->palette[v]), | ||||
|                                 c6_to_8(s->palette[v + 1]), | ||||
|                                 c6_to_8(s->palette[v + 2])); | ||||
|             col = rgb_to_pixel32(c6_to_8(s->palette[v]), | ||||
|                                  c6_to_8(s->palette[v + 1]), | ||||
|                                  c6_to_8(s->palette[v + 2])); | ||||
|         } | ||||
|         if (col != palette[i]) { | ||||
|             full_update = 1; | ||||
| @ -1245,7 +1238,6 @@ static void vga_draw_text(VGACommonState *s, int full_update) | ||||
|         s->last_cw = cw; | ||||
|         full_update = 1; | ||||
|     } | ||||
|     s->rgb_to_pixel = rgb_to_pixel32_dup; | ||||
|     full_update |= update_palette16(s); | ||||
|     palette = s->last_palette; | ||||
|     x_incr = cw * surface_bytes_per_pixel(surface); | ||||
| @ -1553,8 +1545,6 @@ static void vga_draw_graphic(VGACommonState *s, int full_update) | ||||
|         dpy_gfx_replace_surface(s->con, surface); | ||||
|     } | ||||
| 
 | ||||
|     s->rgb_to_pixel = rgb_to_pixel32_dup; | ||||
| 
 | ||||
|     if (shift_control == 0) { | ||||
|         full_update |= update_palette16(s); | ||||
|         if (s->sr[VGA_SEQ_CLOCK_MODE] & 8) { | ||||
| @ -1700,9 +1690,8 @@ static void vga_draw_blank(VGACommonState *s, int full_update) | ||||
|     if (s->last_scr_width <= 0 || s->last_scr_height <= 0) | ||||
|         return; | ||||
| 
 | ||||
|     s->rgb_to_pixel = rgb_to_pixel32_dup; | ||||
|     if (surface_bits_per_pixel(surface) == 8) { | ||||
|         val = s->rgb_to_pixel(0, 0, 0); | ||||
|         val = rgb_to_pixel32(0, 0, 0); | ||||
|     } else { | ||||
|         val = 0; | ||||
|     } | ||||
|  | ||||
| @ -154,8 +154,6 @@ typedef struct VGACommonState { | ||||
|     bool cursor_visible_phase; | ||||
|     int64_t cursor_blink_time; | ||||
|     uint32_t cursor_offset; | ||||
|     unsigned int (*rgb_to_pixel)(unsigned int r, | ||||
|                                  unsigned int g, unsigned b); | ||||
|     const GraphicHwOps *hw_ops; | ||||
|     bool full_update_text; | ||||
|     bool full_update_gfx; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Benjamin Herrenschmidt
						Benjamin Herrenschmidt