Subversion Repositories HelenOS

Rev

Rev 1990 | Rev 1993 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1990 Rev 1991
Line 356... Line 356...
356
 * @param align Request alignment for 24bpp mode.
356
 * @param align Request alignment for 24bpp mode.
357
 */
357
 */
358
void fb_init(uintptr_t addr, unsigned int x, unsigned int y, unsigned int bpp, unsigned int scan, bool align)
358
void fb_init(uintptr_t addr, unsigned int x, unsigned int y, unsigned int bpp, unsigned int scan, bool align)
359
{
359
{
360
    switch (bpp) {
360
    switch (bpp) {
361
        case 8:
361
    case 8:
362
            rgb2scr = rgb_1byte;
362
        rgb2scr = rgb_1byte;
363
            scr2rgb = byte1_rgb;
363
        scr2rgb = byte1_rgb;
364
            pixelbytes = 1;
364
        pixelbytes = 1;
365
            break;
365
        break;
366
        case 16:
366
    case 16:
367
            rgb2scr = rgb_2byte;
367
        rgb2scr = rgb_2byte;
368
            scr2rgb = byte2_rgb;
368
        scr2rgb = byte2_rgb;
369
            pixelbytes = 2;
369
        pixelbytes = 2;
370
            break;
370
        break;
371
        case 24:
371
    case 24:
372
            rgb2scr = rgb_3byte;
372
        rgb2scr = rgb_3byte;
373
            scr2rgb = byte3_rgb;
373
        scr2rgb = byte3_rgb;
374
            if (align)
374
        if (align)
375
                pixelbytes = 4;
-
 
376
            else
-
 
377
                pixelbytes = 3;
-
 
378
            break;
-
 
379
        case 32:
-
 
380
            rgb2scr = rgb_4byte;
-
 
381
            scr2rgb = byte4_rgb;
-
 
382
            pixelbytes = 4;
375
            pixelbytes = 4;
-
 
376
        else
-
 
377
            pixelbytes = 3;
383
            break;
378
        break;
-
 
379
    case 32:
-
 
380
        rgb2scr = rgb_4byte;
-
 
381
        scr2rgb = byte4_rgb;
-
 
382
        pixelbytes = 4;
-
 
383
        break;
384
        default:
384
    default:
385
            panic("Unsupported bpp.\n");
385
        panic("Unsupported bpp.\n");
386
    }
386
    }
387
   
387
   
388
    unsigned int fbsize = scan * y;
388
    unsigned int fbsize = scan * y;
389
   
389
   
390
    /* Map the framebuffer */
390
    /* Map the framebuffer */