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




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/