Rev 2089 | Rev 2141 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2089 | Rev 2102 | ||
---|---|---|---|
Line 121... | Line 121... | ||
121 | ((color >> 16) & 0xff); |
121 | ((color >> 16) & 0xff); |
122 | } |
122 | } |
123 | 123 | ||
124 | static void rgb_byte888(void *dst, int rgb) |
124 | static void rgb_byte888(void *dst, int rgb) |
125 | { |
125 | { |
126 | uint8_t *scr = dst; |
126 | uint8_t *scr = (uint8_t *) dst; |
127 | #if defined(FB_INVERT_ENDIAN) |
127 | #if defined(FB_INVERT_ENDIAN) |
128 | scr[0] = RED(rgb, 8); |
128 | scr[0] = RED(rgb, 8); |
129 | scr[1] = GREEN(rgb, 8); |
129 | scr[1] = GREEN(rgb, 8); |
130 | scr[2] = BLUE(rgb, 8); |
130 | scr[2] = BLUE(rgb, 8); |
131 | #else |
131 | #else |
Line 135... | Line 135... | ||
135 | #endif |
135 | #endif |
136 | } |
136 | } |
137 | 137 | ||
138 | static int byte888_rgb(void *src) |
138 | static int byte888_rgb(void *src) |
139 | { |
139 | { |
140 | uint8_t *scr = src; |
140 | uint8_t *scr = (uint8_t *) src; |
141 | #if defined(FB_INVERT_ENDIAN) |
141 | #if defined(FB_INVERT_ENDIAN) |
142 | return scr[0] << 16 | scr[1] << 8 | scr[2]; |
142 | return scr[0] << 16 | scr[1] << 8 | scr[2]; |
143 | #else |
143 | #else |
144 | return scr[2] << 16 | scr[1] << 8 | scr[0]; |
144 | return scr[2] << 16 | scr[1] << 8 | scr[0]; |
145 | #endif |
145 | #endif |
Line 263... | Line 263... | ||
263 | * in some way. For example, the SUNW,ffb framebuffer |
263 | * in some way. For example, the SUNW,ffb framebuffer |
264 | * wraps this area around the beginning of the same |
264 | * wraps this area around the beginning of the same |
265 | * line. To avoid troubles, copy only memory as |
265 | * line. To avoid troubles, copy only memory as |
266 | * specified by the resolution. |
266 | * specified by the resolution. |
267 | */ |
267 | */ |
268 | int i; |
268 | unsigned int i; |
269 | 269 | ||
270 | for (i = 0; i < first; i++) |
270 | for (i = 0; i < first; i++) |
271 | memcpy(&fbaddress[i * scanline], |
271 | memcpy(&fbaddress[i * scanline], |
272 | &dbbuffer[(dboffset + i) * scanline], |
272 | &dbbuffer[(dboffset + i) * scanline], |
273 | xres * pixelbytes); |
273 | xres * pixelbytes); |
Line 288... | Line 288... | ||
288 | ROW_BYTES); |
288 | ROW_BYTES); |
289 | } else { |
289 | } else { |
290 | /* |
290 | /* |
291 | * See the comment in the dbbuffer case. |
291 | * See the comment in the dbbuffer case. |
292 | */ |
292 | */ |
293 | int i; |
293 | unsigned int i; |
294 | 294 | ||
295 | /* Move all rows one row up */ |
295 | /* Move all rows one row up */ |
296 | for (i = 0; i < yres - FONT_SCANLINES; i++) |
296 | for (i = 0; i < yres - FONT_SCANLINES; i++) |
297 | memcpy(&fbaddress[i * scanline], |
297 | memcpy(&fbaddress[i * scanline], |
298 | &fbaddress[(i + FONT_SCANLINES) * scanline], |
298 | &fbaddress[(i + FONT_SCANLINES) * scanline], |