liballeg/allegro5

Android: bitmaps created with the `ALLEGRO_NO_PRESERVE_TEXTURE` flag get corrupted

Closed this issue · 0 comments

On Android, bitmaps created with the ALLEGRO_NO_PRESERVE_TEXTURE flag get corrupted and stay unusable when the application loses focus. Video bitmaps created without the flag are recovered by calling al_acknowledge_drawing_resume(). Bitmaps created with the flag could be "recovered" similarly (i.e., made usable again, even though they lose their pixel data).


Here is an example of bitmap corruption. I render the scene to bitmaps created with the ALLEGRO_NO_PRESERVE_TEXTURE flag. I can walk around the issue by destroying and recreating such bitmaps. However, it would be better if Allegro handled the issue transparently, as it already does for other video bitmaps.

bmp-corruption1.mp4

The controls are rendered directly to the screen, so they aren't affected by the glitch.