Re: [AD] show_video_bitmap() documentation a bit misleading... |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> However as I found out on the SVGALIB driver, it does not support video
> bitmaps. Thus (I assume or else it wouldn't work) Allegro provides a
> fallback emulation of the function show_video_bitmap().
Not quite exact. The SVGAlib driver does support video bitmaps (otherwise you
simply couldn't successfully call create_video_bitmap() with it), but it
doesn't view them as independent pages of VRAM (like the DirectX drivers),
but rather as parts of a big planar VRAM surface, the screen being the top
left corner of this big surface.
And there is no "fallback emulation" either: under this point of view,
flipping between the screen and a video bitmap simply translates into
scrolling the top left corner of the screen across the VRAM surface. Hence
the call to scroll_screen() in show_video_bitmap().
> However, this fallback does not wait for the vsync. Even though the SVGALIB
> driver has a vsync() function that works, this fallback function does not
> make use of it.
That's clearly a problem: scroll_screen() ought to wait for the vsync() too.
Does the problem occur with the demo game, using page flipping as the
animation logic ?
> Am I interpreting the documentation wrong on this matter? Personally, I
> would have expected the fallback show_video_bitmap to wait for vsync due
> to what the documentation says... which makes me think either the fallback
> or the documentation needs to be fixed or clarified.
The former solution.
--
Eric Botcazou