Re: [AD] [WIN] page flipping code summary

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Eric Botcazou wrote:
> 
> > You too, this is my patch, fixes EnumSurfaces and an extra check in the
> > flip, Eric, does this need applying, or have you already done this, has it
> > been tested on Voodoo3?
> 
> I've already posted a similar patch at SourceForge but it hasn't been
> applied yet.
> And yes, the current CVS code has successfully been tested on a Voodoo 3
> card.

Good, ok.
 
> -         if (FAILED(hr))
> +         if (FAILED(hr) || tripbuffersurf == NULL)
>              IDirectDrawSurface_Flip(primbuffersurf, invisible,
> DDFLIP_WAIT);
> I don't understand your handling of tripbuffersurf. In most cases, both
> backbuffersurf and tripbuffersurf will be allocated when creating the
> primary surface; afterwards, it's up to the programmer to properly code
> either page flipping or triple buffering:
> - for page flipping, the Allegro API function show_video_bitmap()
> explicitely requests the system to wait for the flipping completeness, so
> DDFLIP_WAIT must be set.
> - for triple buffering, request_video_bitmap() doesn't request the system to
> wait so DDFLIP_WAIT must not be set.

This is what my patch does, if trip is not allocated by
create_video_bitmap, it is released and NULLED, so the FLIP_WAIT is used
(pageflip), if triple buffer is used, FLIP_WAIT is not specified. Er,
request_video_bitmap, what's that? :)



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