On Montag 04 September 2006 23:01, Stefan Lucke wrote:
> On Donnerstag 22 Juni 2006 02:58, Ville Syrjälä wrote:
> > Hi,
> >
> > Field based blitting support for matrox cards is now in cvs.
>
> I know it's late, but I've been busy with other things.
>
> It still suffers from the same problem I wrote in a private mail
> to Ville on 2006-05-24:
>
> >> When the OSD is blended to screen surface, it is visible double high
> >> on one field. Sometimes there is a shadow from normal high OSD
> >> visible too.
> This shadow is more likely a shrinked picure of a previous frame.
> Should I make a screen shot to show this ?
>
I think I found the bug: Whenever blit mode changes from field-blit to
frame-blit or vice versa, destination offsets have to be recalculated.
Attached patch will fix this issue for me and I think I'll get some
feedback on softdevice-devel list soon.
--
Stefan Lucke
? mga_fix_01.patch
? mga_fix_02.patch
? mga_trace_01.patch
Index: matrox.c
===================================================================
RCS file: /cvs/directfb/DirectFB/gfxdrivers/matrox/matrox.c,v
retrieving revision 1.101
diff -U 3 -r1.101 matrox.c
--- matrox.c 26 Aug 2006 09:34:19 -0000 1.101
+++ matrox.c 5 Sep 2006 16:15:25 -0000
@@ -705,7 +705,8 @@
{
MatroxDriverData *mdrv = (MatroxDriverData*) drv;
MatroxDeviceData *mdev = (MatroxDeviceData*) dev;
-
+ bool prev_blit_fields = mdev->blit_fields;
+
if (state->modified == SMF_ALL) {
mdev->valid = 0;
@@ -896,7 +897,8 @@
break;
}
- if (state->modified & SMF_DESTINATION) {
+ if (prev_blit_fields != mdev->blit_fields ||
+ state->modified & SMF_DESTINATION) {
matrox_set_destination( mdrv, mdev, state->destination );
state->modified |= SMF_CLIP;
}
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev