Re: [AD] DIFF for DirectX pageflip fix

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


Isaac Cruz wrote:
> > I would like to submit this diff for evaluation, as I mentioned before,
> > it should fix incorrect pageflipping on cards like Voodoo3 and TNT2. I
> > really would appreciate feedback and testing on this.
> You have changed the code so it will create the primary surface with a
> backbuffer attached isn't it? hmm, I noticed that some drivers (detonator
3.68 I
> think, don't know about voodoo3) had a bug when you wanted to attach a
> backbuffer once the primary surface was created, but it's now corrected.
Also,
> with your patch, page flipping will be a little faster, but note that
there's
> some memory wasted if you don't want to use page flipping (it first tries
to
> create a primary surface with 2 back buffers). For me it isn't an issue, my
card
> has 16 megs, but what about the rest of people, what so you think?

On the first call for a non-screensize videobitmap, the vidmemory for
unused backbuffers is freed. I would MUCH prefer to be able to know how
many buffers to alloc on set_gfx_mode though.
 
> Also, what about windowed mode? doesn't it break it? I'm not sure if when
you
> request a complex primary surface in this case, it will fail and fall back
to a
> simple primary surface. Have you tried?

I haven't tried, but it should only affect the fullscreen GFX_DIRECTX
mode as this is the only one that uses proper pageflipping (windowed
mode is faked by DirectX)
 
> OK, it seems a good idea, thanks for it, i will apply it as soon as it's
well
> tested

:) The only problem I can see is that it may not like the backbuffers
being released previously when the screen is shutdown, but I haven't had
any problems with this on my game, a test and exaccel... If this was a
problem we could get round it by destroying the primary surface and
reallocating it with appropriate number of back buffers everytime a new
screensize vidbitmap is requested.



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