Re: [AD] [WIN] pageflip needs fixing before 4.0 |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> Doesn't frighten me :p
I'm too sensitive ;-)
> I notice from your wddbmp.c (not posted on this list) you removed
> Enumeration,
I removed enumeration with EnumAttachedSurfaces() because:
- it may be indirectly the cause of the problem because of a design flaw
(only fixed in DirectX 7 afaics):
IDirectDrawSurface2::EnumAttachedSurfaces() enumerates surfaces using the
IDirectDrawSurface1 interface (!), so that you have to manually query the
IDirectDrawSurface2 interface with COM for each enumerated surface ! (fixed
in DirectX 7),
- afaics the DirectX docs (version 3, 5, 7 at least) never use
EnumAttachedSurfaces() to enumerate, rather GetAttachedSurface() that
haven't got the previously described flaw: surfaces are directly enumerated
with the IDirectDrawSurface2 interface.
> how about seeing if (int EnumSurfacesCallback) assigning the two pages the
> other way round helps (tripbuffer first)?
Yes, we could try that too.
> Surely other ports need this info?
I'm not sure, the Windows port may be the only one to use video memory pages
instead of virtual screen.
> Another thought:
> If a game uses pageflip only, we can supply a DLL (somewhere) that only
> allocs 1bb.
That could confuse the users I think.
--
Eric Botcazou
ebotcazou@xxxxxxxxxx