Aloha.
I has being messing around with allegro and stuff, and found an strange behavior when I use al_flip_display without al_clear_to_color. I'ts some kind of flickering only when it's full screen.
Does have something to do with monitor Hz or vsync?
This is an executable example (Windows)
Well I just was curious about this... What it causes that behavior?.
Could you post the source?
Yep.
That is inside a class...
Edit: This is the initialization process... I forgot it...
Does al_get_display_option(display, ALLEGRO_UPDATE_DISPLAY_REGION) indicate the display supports partial updates?
But that aside, I don't think al_flip_display() isn't guaranteed to clear your backbuffer. So if you are only updating a partial part of the backbuffer, then I would expect "odd" behavior if you don't first clear it.
I don't know, sorry. Just try making some changes and see what happens.
No actually there is no problem... I shouldn't being doing that anyway... I just wanted to know...
Does al_get_display_option(display, ALLEGRO_UPDATE_DISPLAY_REGION) indicate the display supports partial updates?
Let me process that... 
But that aside, I don't think al_flip_display() isn't guaranteed to clear your backbuffer. So if you are only updating a partial part of the backbuffer, then I would expect "odd" behavior if you don't first clear it.
Yes that is what I thought.
This code, for example, will flicker like crazy on my machine if I use OpenGL but not if I use Direct3D. So I guess whether the backbuffer is cleared or not depends on the driver.
Yes on my computer also flicks a lot with OpenGL.
I think when I don't do this: al_set_new_display_flags(ALLEGRO_OPENGL); Automatically is using Direct3D but when I do this: al_set_new_display_flags(ALLEGRO_DIRECT3D); Tells me that 'ALLEGRO_DIRECT3D' was not declared in this scope. Why's that?
Edit: If I use 'ALLEGRO_OPENGL_3_0' instead of 'ALLEGRO_OPENGL' doesn't flicks anymore on windowed mode, but if I go fullscreen do it again.
Tells me that 'ALLEGRO_DIRECT3D' was not declared in this scope. Why's that?
ALLEGRO_DIRECT3D is not defined on non-Windows platforms. If you're compiling this on Windows there is something wrong... It doesn't work for me either. There's something wrong with the includes somehow.
You have to include <allegro5/allegro_direct3d.h> for it to work. The manual neglects to mention that little fact.
Finally you could download the last driver for your PC? I think mines is very similar to yours. Mines is a Toshiba Satellite A215, but I couldn't find the Drivers. You downloaded it from Toshiba or from AMD?
You have to include <allegro5/allegro_direct3d.h> for it to work. The manual neglects to mention that little fact.
At some point in 4.9.x you had to include allegro5/allegro_opengl.h so that you could use ALLEGRO_OPENGL. I never tried to use ALLEGRO_DIRECT3D since it's the default.
Finally you could download the last driver for your PC? I think mines is very similar to yours. Mines is a Toshiba Satellite A215, but I couldn't find the Drivers. You downloaded it from Toshiba or from AMD?
My PC is an old IBM with integrated Intel graphics card. I have the latest drivers (dated 2005). You should be able to find the latest drivers for your machine at Toshiba.
Anyway, you should always clear the backbuffer. Even for a simple program like the one I posted you could do:
al_clear_to_color(al_map_rgb(0, 128, 128)); al_flip_display(); al_clear_to_color(al_map_rgb(0, 128, 128));
or simply force ALLEGRO_SINGLE_BUFFER.