码迷,mamicode.com
首页 > 其他好文 > 详细

(原)在firefly_rk3288开发板上解决openGL在设置32位色深以后出现花屏的问题

时间:2016-06-07 16:11:42      阅读:787      评论:0      收藏:0      [点我收藏+]

标签:

转载请注明出处:http://www.cnblogs.com/lihaiping/p/5567141.html

在做openGL测试的过程中,根据论坛上的帖子,在使用/bin/fbset -a -nonstd 1 -depth 32 -rgba "8/0,8/8,8/16,8/24"命令以后,会出现显示花屏的问题,当然我这边暂时使用的是hdmi输出进行测试的,vga的设置方法,另外一个网友已经发帖贴出了解决方法:http://developer.t-firefly.com/thread-6462-1-1.html,同时我这里也是根据他的方法来实现的。

因为hdmi的输出是从framebuffer这个源来的,所以我们修改色深只需要修改framebuffer就OK了,具体操作方法很简单:
1)打开drivers\video\rockchip\rk_fb_box.c文件,
static struct fb_var_screeninfo def_var = {
/*
#if defined(CONFIG_LOGO_LINUX_BMP)
        .red = {16, 8, 0},
        .green = {8, 8, 0},
        .blue = {0, 8, 0},
        .transp = {0, 0, 0},
        .nonstd = HAL_PIXEL_FORMAT_BGRA_8888,
#else
*/
//modefy by lhp---20160607
#if 1 //defined(CONFIG_LOGO_LINUX_BMP)
        .red = {16, 8, 0},
        .green = {8, 8, 0},
        .blue = {0, 8, 0},
        .transp = {0, 0, 0},
        .nonstd = HAL_PIXEL_FORMAT_BGRA_8888,
        .bits_per_pixel = 32,
#else
        .red = {11, 5, 0},
        .green = {5, 6, 0},
        .blue = {0, 5, 0},
        .transp = {0, 0, 0},
        .nonstd = HAL_PIXEL_FORMAT_RGB_565,        /* (ypos<<20+xpos<<8+format) format */
#endif
        .grayscale = 0,                /* (ysize<<20+xsize<<8) */
        .activate = FB_ACTIVATE_NOW,
        .accel_flags = 0,
        .vmode = FB_VMODE_NONINTERLACED,
};
2)修改rk_fb_register函数:

//modefy by lhp----20160607,use def_var.bits_per_pixel
/*
#if defined(CONFIG_LOGO_LINUX_BMP)
                fbi->var.bits_per_pixel = 32;
#else
                fbi->var.bits_per_pixel = 16;
#endif
*/

将上面的这段进行注释,使用我们前面1)中已经修改的那个定义

===========================
编译内核,启动就OK了。

 

(原)在firefly_rk3288开发板上解决openGL在设置32位色深以后出现花屏的问题

标签:

原文地址:http://www.cnblogs.com/lihaiping/p/5567141.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!