On 11/17/2011 11:18 AM, Carlo Ferraresi wrote:
Is cairo_surface_flush() drawing anything?

Please send the log output. We might also disable/enable special omapfb code
in DirectFB.


Here is the log:

    ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.11 |~~~~~~~~~~~~~~~~~~~~~~~~~~
         (c) 2001-2010  The world wide DirectFB Open Source Community
         (c) 2000-2004  Convergence (integrated media) GmbH
       ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2011-02-08 22:29)
(*) Direct/Memcpy: Using libc memcpy()
(*) Direct/Thread: Started 'VT Switcher' (-1) [CRITICAL OTHER/OTHER 0/0]
<8388608>...
(*) Direct/Thread: Started 'VT Flusher' (-1) [DEFAULT OTHER/OTHER 0/0]<8388608>
...
(*) DirectFB/FBDev: Found 'omapfb' (ID 0) with frame buffer at 0x80515000,
1024k(MMIO 0x00000000, 0k)
(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0]<8388608>
...
(*) DirectFB/Input: lizard-keypad 0.1 (directfb.org)
(*) Direct/Thread: Started 'Hotplug with Linux Input' (-1) [INPUT OTHER/OTHER
0/0]<8388608>...
(*) DirectFB/Input: Hot-plug detection enabled with Linux Input Driver
(*) Direct/Thread: Started 'Keyboard Input' (-1) [INPUT OTHER/OTHER 0/0]
<8388608>...
(*) DirectFB/Input: Keyboard 0.9 (directfb.org)
(*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) FBDev/Mode: Setting 320x240 RGB16
(*) FBDev/Mode: Switched to 320x240 (virtual 320x240) at 16 bit (RGB16), pitch
  640

cairo_surface_flush don't show anything. Maybe it's my fault when I define
or when I use the surface. There's no way to enable DSFLIP_ONSYNC on omapfb?
What's the correct way to make a flippable cairo_directfb_surface??
If I do something like this, the result is the same:


dsc.caps=DSCAPS_PRIMARY | DSCAPS_FLIPPING;


Should be fine.

  while(1)
            {
        surface=cairo_directfb_surface_create (dfb, primary);
           cr=cairo_create(surface);
             //DRAW SOMETHING WITH CAIRO


               usleep(100000);
                cairo_surface_flush(surface);
           primary->Flip(primary,NULL,0);
            cairo_destroy(cr);
  cairo_surface_destroy(surface);
                    cr=NULL;
                surface=NULL;
                
              }

If you clear/render to the whole surface each time it should work.

--
Best regards,
  Denis Oliver Kropp

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to