23185ac46b343a03788f7562e0554956529c433a
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / fbv / 0003-fix-24bpp-support-on-big-endian.patch
1 diff -upr a/fb_display.c b/fb_display.c
2 --- a/fb_display.c      2007-06-01 16:52:45.000000000 +0200
3 +++ b/fb_display.c      2007-06-01 16:51:43.000000000 +0200
4 @@ -307,7 +307,7 @@ void* convertRGB2FB(int fh, unsigned cha
5  {
6      unsigned long i;
7      void *fbbuff = NULL;
8 -       u_int8_t  *c_fbbuff;
9 +    u_int8_t  *c_fbbuff;
10      u_int16_t *s_fbbuff;
11      u_int32_t *i_fbbuff;
12  
13 @@ -335,6 +335,16 @@ void* convertRGB2FB(int fh, unsigned cha
14             fbbuff = (void *) s_fbbuff;
15             break;
16         case 24:
17 +           *cpp = 3;
18 +           c_fbbuff = (unsigned char *) malloc(count * 3 * sizeof(unsigned char));
19 +           for(i = 0; i < (3 * count); i += 3) {
20 +               /* Big endian framebuffer. */
21 +               c_fbbuff[i] = rgbbuff[i+2];
22 +               c_fbbuff[i+1] = rgbbuff[i+1];
23 +               c_fbbuff[i+2] = rgbbuff[i];
24 +           }
25 +           fbbuff = (void *) c_fbbuff;
26 +           break;
27         case 32:
28             *cpp = 4;
29             i_fbbuff = (unsigned int *) malloc(count * sizeof(unsigned int));
30 Only in build_avr32/fbv-1.0b-modified: .fb_display.c.swp
31 Binary files build_avr32/fbv-1.0b/fb_display.o and build_avr32/fbv-1.0b-modified/fb_display.o differ
32 Binary files build_avr32/fbv-1.0b/fbv and build_avr32/fbv-1.0b-modified/fbv differ