+ // filter out caps that don't make sense for a new compatible surface:
+ int caps = desc.caps;
+ caps &= ~DSCAPS_PRIMARY;
+ caps &= ~DSCAPS_SUBSURFACE;
+ if ( flags & CreateCompatible_NoBackBuffer )
+ {
+ caps &= ~DSCAPS_DOUBLE;
+ caps &= ~DSCAPS_TRIPLE;
+ }
+ desc.caps = (DFBSurfaceCapabilities)caps;
+