graphics.c: revert RGB8888 support
Change-Id: Id2a4c8055c2bc82120871293235cf98c7c5b50e6
This commit is contained in:
		| @@ -28,7 +28,6 @@ | ||||
| #include <linux/kd.h> | ||||
|  | ||||
| #include <pixelflinger/pixelflinger.h> | ||||
| #include <cutils/memory.h> | ||||
|  | ||||
| #ifndef BOARD_LDPI_RECOVERY | ||||
| 	#include "font_10x18.h" | ||||
| @@ -94,11 +93,11 @@ static int get_framebuffer(GGLSurface *fb) | ||||
| #ifdef BOARD_HAS_JANKY_BACKBUFFER | ||||
|     fb->stride = fi.line_length/2; | ||||
| #else | ||||
|     fb->stride = vi.xres_virtual; | ||||
|     fb->stride = vi.xres; | ||||
| #endif | ||||
|     fb->data = bits; | ||||
|     fb->format = GGL_PIXEL_FORMAT_RGB_565; | ||||
|     memset(fb->data, 0, vi.yres * vi.xres_virtual * vi.bits_per_pixel / 8); | ||||
|     memset(fb->data, 0, vi.yres * vi.xres * 2); | ||||
|  | ||||
|     fb++; | ||||
|  | ||||
| @@ -109,11 +108,11 @@ static int get_framebuffer(GGLSurface *fb) | ||||
|     fb->stride = fi.line_length/2; | ||||
|     fb->data = (void*) (((unsigned) bits) + vi.yres * fi.line_length); | ||||
| #else | ||||
|     fb->stride = vi.xres_virtual; | ||||
|     fb->data = (void*) (((unsigned) bits) + (vi.yres * vi.xres_virtual * vi.bits_per_pixel / 8)); | ||||
|     fb->stride = vi.xres; | ||||
|     fb->data = (void*) (((unsigned) bits) + vi.yres * vi.xres * 2); | ||||
| #endif | ||||
|     fb->format = GGL_PIXEL_FORMAT_RGB_565; | ||||
|     memset(fb->data, 0, vi.yres * vi.xres_virtual * vi.bits_per_pixel / 8); | ||||
|     memset(fb->data, 0, vi.yres * vi.xres * 2); | ||||
|  | ||||
|     return fd; | ||||
| } | ||||
| @@ -122,8 +121,8 @@ static void get_memory_surface(GGLSurface* ms) { | ||||
|   ms->version = sizeof(*ms); | ||||
|   ms->width = vi.xres; | ||||
|   ms->height = vi.yres; | ||||
|   ms->stride = vi.xres_virtual; | ||||
|   ms->data = malloc(vi.xres_virtual * vi.yres * vi.bits_per_pixel / 8); | ||||
|   ms->stride = vi.xres; | ||||
|   ms->data = malloc(vi.xres * vi.yres * 2); | ||||
|   ms->format = GGL_PIXEL_FORMAT_RGB_565; | ||||
| } | ||||
|  | ||||
| @@ -132,33 +131,12 @@ static void set_active_framebuffer(unsigned n) | ||||
|     if (n > 1) return; | ||||
|     vi.yres_virtual = vi.yres * 2; | ||||
|     vi.yoffset = n * vi.yres; | ||||
|     vi.bits_per_pixel = 16; | ||||
|     if (ioctl(gr_fb_fd, FBIOPUT_VSCREENINFO, &vi) < 0) { | ||||
|         perror("active fb swap failed"); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void gr_flip_32(unsigned *bits, unsigned short *ptr, unsigned count) | ||||
| { | ||||
|    unsigned i=0; | ||||
|    while (i<count) { | ||||
|         uint32_t rgb32, red, green, blue, alpha; | ||||
|  | ||||
|         /* convert 16 bits to 32 bits */ | ||||
|         rgb32 = ((ptr[i] >> 11) & 0x1F); | ||||
|         red = (rgb32 << 3) | (rgb32 >> 2); | ||||
|         rgb32 = ((ptr[i] >> 5) & 0x3F); | ||||
|         green = (rgb32 << 2) | (rgb32 >> 4); | ||||
|         rgb32 = ((ptr[i]) & 0x1F); | ||||
|         blue = (rgb32 << 3) | (rgb32 >> 2); | ||||
|         alpha = 0xff; | ||||
|         rgb32 = (alpha << 24) | (blue << 16) | ||||
|         | (green << 8) | (red); | ||||
|         android_memset32((uint32_t *)bits, rgb32, 4); | ||||
|         i++; | ||||
|         bits++; | ||||
|     } | ||||
| } | ||||
|  | ||||
| void gr_flip(void) | ||||
| { | ||||
|     GGLContext *gl = gr_context; | ||||
| @@ -177,18 +155,9 @@ void gr_flip(void) | ||||
| #endif | ||||
|  | ||||
|     /* copy data from the in-memory surface to the buffer we're about | ||||
|      * to make active. */  | ||||
|     if(vi.bits_per_pixel == 32) | ||||
|     { | ||||
|         gr_flip_32((unsigned *)gr_framebuffer[gr_active_fb].data, \ | ||||
|                    (unsigned short *)gr_mem_surface.data, | ||||
|                    (vi.xres_virtual * vi.yres)); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         memcpy(gr_framebuffer[gr_active_fb].data, gr_mem_surface.data, | ||||
|                vi.xres_virtual * vi.yres *2); | ||||
|     } | ||||
|      * to make active. */ | ||||
|     memcpy(gr_framebuffer[gr_active_fb].data, gr_mem_surface.data, | ||||
|            vi.xres * vi.yres * 2); | ||||
|  | ||||
|     /* inform the display driver */ | ||||
|     set_active_framebuffer(gr_active_fb); | ||||
| @@ -367,3 +336,4 @@ gr_pixel *gr_fb_data(void) | ||||
| { | ||||
|     return (unsigned short *) gr_mem_surface.data; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user