0003-fix-24bpp-support-on-big-endian.patch 1.1 KB

1234567891011121314151617181920212223242526272829303132
  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. @@ -335,6 +335,16 @@ void* convertRGB2FB(int fh, unsigned cha
  13. fbbuff = (void *) s_fbbuff;
  14. break;
  15. case 24:
  16. + *cpp = 3;
  17. + c_fbbuff = (unsigned char *) malloc(count * 3 * sizeof(unsigned char));
  18. + for(i = 0; i < (3 * count); i += 3) {
  19. + /* Big endian framebuffer. */
  20. + c_fbbuff[i] = rgbbuff[i+2];
  21. + c_fbbuff[i+1] = rgbbuff[i+1];
  22. + c_fbbuff[i+2] = rgbbuff[i];
  23. + }
  24. + fbbuff = (void *) c_fbbuff;
  25. + break;
  26. case 32:
  27. *cpp = 4;
  28. i_fbbuff = (unsigned int *) malloc(count * sizeof(unsigned int));
  29. Only in build_avr32/fbv-1.0b-modified: .fb_display.c.swp
  30. Binary files build_avr32/fbv-1.0b/fb_display.o and build_avr32/fbv-1.0b-modified/fb_display.o differ
  31. Binary files build_avr32/fbv-1.0b/fbv and build_avr32/fbv-1.0b-modified/fbv differ