hi, I have a patch for unichrome(CX700, CX700M, CX700M2), which enable hardware accelated StretchBlit (YUV->RGB). NOTE: 1. this patch is against 1.0.1. for 1.1 and later, I think it should work. since the unichrome driver have no change a long time.
2. this patch work well with VIA's viafb: http://www.viaarena.com/Driver/linux-fbdev-kernel-src_2.6.00.03a.tgz Thanks for your good work with DirectFB. :-) diff -urp unichrome.orig/regs3d.h unichrome/regs3d.h --- unichrome.orig/regs3d.h 2007-08-08 03:43:00.000000000 +0800 +++ unichrome/regs3d.h 2007-11-21 13:29:50.000000000 +0800 @@ -1019,6 +1019,7 @@ #define HC_HTXnFM_VU88 (HC_HTXnFM_BUMPMAP | 0x00000000) #define HC_HTXnFM_LVU655 (HC_HTXnFM_BUMPMAP | 0x00010000) #define HC_HTXnFM_LVU888 (HC_HTXnFM_BUMPMAP | 0x00020000) +#define HC_HTXnFM_YUY2 0x00300000 #define HC_HTXnLoc_Local 0x00000000 #define HC_HTXnLoc_Sys 0x00000002 #define HC_HTXnLoc_AGP 0x00000003 diff -urp unichrome.orig/uc_accel.c unichrome/uc_accel.c --- unichrome.orig/uc_accel.c 2007-08-08 03:43:00.000000000 +0800 +++ unichrome/uc_accel.c 2007-11-21 13:29:50.000000000 +0800 @@ -73,11 +73,14 @@ void uc_flush_texture_cache(void* drv, v (void) ucdev; - UC_FIFO_PREPARE(fifo, 4); + UC_FIFO_PREPARE(fifo, 16); UC_FIFO_ADD_HDR(fifo, (HC_ParaType_Tex << 16) | (HC_SubType_TexGeneral << 24)); - UC_FIFO_ADD_3D(fifo, HC_SubA_HTXSMD, HC_HTXCHCLR_MASK); - UC_FIFO_ADD_3D(fifo, HC_SubA_HTXSMD, 0); + UC_FIFO_ADD (fifo, 0x00000002); + + UC_FIFO_ADD (fifo, 0x0113000d); + UC_FIFO_ADD (fifo, 0x02ed1316); + UC_FIFO_ADD (fifo, 0x03071000); UC_FIFO_CHECK(fifo); } Only in unichrome: uc_accel.c~ diff -urp unichrome.orig/uc_hw.h unichrome/uc_hw.h --- unichrome.orig/uc_hw.h 2007-08-08 03:43:00.000000000 +0800 +++ unichrome/uc_hw.h 2007-11-21 13:29:50.000000000 +0800 @@ -48,6 +48,7 @@ static inline int uc_map_src_format_3d( case DSPF_AiRGB: return HC_HTXnFM_ARGB8888; // limited support case DSPF_A8: return HC_HTXnFM_A8; case DSPF_LUT8: return HC_HTXnFM_Index8; + case DSPF_YUY2: return HC_HTXnFM_YUY2; default: D_BUG( "unexpected pixel format" ); diff -urp unichrome.orig/uc_probe.h unichrome/uc_probe.h --- unichrome.orig/uc_probe.h 2007-08-08 03:43:00.000000000 +0800 +++ unichrome/uc_probe.h 2008-01-01 05:10:56.000000000 +0800 @@ -15,7 +15,7 @@ #endif #ifndef FB_ACCEL_VIA_UNICHROME -#define FB_ACCEL_VIA_UNICHROME 77 +#define FB_ACCEL_VIA_UNICHROME 50 #endif struct uc_via_chipinfo @@ -35,6 +35,8 @@ static struct uc_via_chipinfo uc_via_dev {0x7204, "K8M800/UniChrome Pro"}, // aka VT3204, Unichrome Pro B {0x3118, "CN400/UniChrome Pro"}, // aka VT3259, PM8?0, Unichrome Pro A {0x3344, "CN700/Unichrome Pro"}, // aka VT3314, P4M800Pro, VN800, CN900 + {0x3157, "CX700/Unichrome Pro"}, // aka CX700 CX700M CX700M2 {0, ""} }; diff -urp unichrome.orig/uc_state.c unichrome/uc_state.c --- unichrome.orig/uc_state.c 2007-08-08 03:43:00.000000000 +0800 +++ unichrome/uc_state.c 2007-11-21 13:29:50.000000000 +0800 @@ -83,6 +83,7 @@ uc_has_src_format_3d( DFBSurfacePixelFor case DSPF_ARGB: case DSPF_A8: case DSPF_LUT8: + case DSPF_YUY2: return true; default: -- Deng XueFeng <[EMAIL PROTECTED]> _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev