[Armadillo:01386] Re: DirectFBについて
nakai
email@hidden
2006年 11月 17日 (金) 17:29:49 JST
中井です。
# DirectFBに関してなので、ここにつないでおきます。
Armadillo-9/240でDirectFBを動作させようとしたとき、
depthが8bitのときにうまくいかないと思います。
原因は、DirectFBのfbdevが デフォルトのpixelformatをDSPF_RGB16にしてしまうからです。
一応対策パッチを作ってあるので、貼り付けておきます。
# パッチ作成してから長く放置してしまいました。。
--- fbdev.c.orig 2006-09-22 22:32:52.000000000 +0900
+++ fbdev.c 2006-09-22 22:38:05.000000000 +0900
@@ -168,6 +168,8 @@
CoreLayerRegionConfig *config,
CoreSurface *surface );
+static DFBSurfacePixelFormat dfb_fbdev_get_pixelformat( struct fb_var_screeninfo *var );
+
static DisplayLayerFuncs primaryLayerFuncs = {
LayerDataSize: primaryLayerDataSize,
RegionDataSize: primaryRegionDataSize,
@@ -1059,8 +1061,14 @@
tmp.buffermode = DLBM_FRONTONLY;
if (dfb_fbdev_set_mode( NULL, NULL, &tmp ))
config->pixelformat = dfb_pixelformat_for_depth( dfb_fbdev->shared->orig_var.bits_per_pixel );
- else
- config->pixelformat = DSPF_RGB16;
+ else{
+ struct fb_var_screeninfo var;
+ if ( FBDEV_IOCTL( FBIOGET_VSCREENINFO, &var ) < 0) {
+ config->pixelformat = DSPF_RGB16;
+ } else {
+ config->pixelformat = dfb_fbdev_get_pixelformat( &var );
+ }
+ }
return DFB_OK;
}
armadillo メーリングリストの案内