al_get_backbuffer man page
al_get_backbuffer — Allegro 5 API
#include <allegro5/allegro.h> ALLEGRO_BITMAP *al_get_backbuffer(ALLEGRO_DISPLAY *display)
Return a special bitmap representing the back-buffer of the display.
Care should be taken when using the backbuffer bitmap (and its sub-bitmaps) as the source bitmap (e.g as the bitmap argument to al_draw_bitmap(3)). Only untransformed operations are hardware accelerated. These consist of al_draw_bitmap(3) and al_draw_bitmap_region(3) when the current transformation is the identity. If the tranformation is not the identity, or some other drawing operation is used, the call will be routed through the memory bitmap routines, which are slow. If you need those operations to be accelerated, then first copy a region of the backbuffer into a temporary bitmap (via the al_draw_bitmap(3) and al_draw_bitmap_region(3)), and then use that temporary bitmap as the source bitmap.
al_create_sub_bitmap(3), al_set_current_opengl_context(3), al_set_target_backbuffer(3), al_set_target_bitmap(3).