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], |