Strange.

Rewriting your tests a bit towards C, I do not experience this behaviour...
ptr before == ptr after, and after a flip, it changes.
Note that it is not imposed that the ptr's are always equal; DirectFB reserves the right to move non-locked memory areas, but I suspect that this is not the case here.

Greets
Niels

Lionel Landwerlin wrote:
Hello everyone,

I'm using surface locks for some custom graphical engine tests, and don't understand the following behavior of directfb :

     layer->CreateSurface(&surface, DOUBLE_BUFFERED)
     surface->Lock (&ptr, CPU_READ|CPU_WRITE);

Here directfb return a ptr = 0x42424242 for example.
Then I execute the following steps :

     surface->Unlock()
     surface->FillRectangle(0, 0, 42, 42);
     surface->Lock(&ptr, CPU_READ|CPU_WRITE);

Here ptr has changed from its previous value.
Why ? I didn't require a Flip.

Should I own the lock all the time ?

Thanks for answers.

--
Lionel Landwerlin

------------------------------------------------------------------------

_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev


--

.------------------------------------------.
| 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