Just to nitpick, in most of your patches, you have this :
if (TRACE_ON(ddraw)) {
DPRINTF(" Real caps are : "); DDRAW_dump_DDSCAPS2(&our_caps); DPRINTF("\n");
}TRACE(" Real caps are : "); DDRAW_dump_DDSCAPS2(&our_caps); TRACE("\n");
As we use 'TRACE' now and not 'DPRINTF', the 'TRACE_ON' constructs could be removed.
But well, one could say that it optimizes stuff to not do the test thrice :-)
Lionel