Следующий CreateSurface редко, но завершается неудачно, возвращая: [-2005532292]: DDERR_OUTOFVIDEOMEMORY
mb_hardwareOverlay = b_CheckHardwareOverlay( );
// create the primary surface. This surface does not consume any
// video memory. It is just a surface that coincides with the desktop
// display - the memory is already consumed by GDI. It is of the
// same dimensions and bit depth as the display.
memset(&directDrawSurfaceDesc, 0, sizeof(DDSURFACEDESC2));
directDrawSurfaceDesc.dwSize = sizeof(DDSURFACEDESC2);
directDrawSurfaceDesc.dwFlags = DDSD_CAPS;
directDrawSurfaceDesc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_VIDEOMEMORY;
retVal= (mp_directDraw)->CreateSurface( &directDrawSurfaceDesc, &mp_primarySurface, NULL );
Я не могу понять, почему он не работает, всегда кажется, что памяти достаточно (771 МБ vid ). Кто-нибудь?
Сразу после этого кода в случае сбоя попытайтесь выполнить нашу DDSCAPS_VIDEOMEMORY, но она тоже не будет выполнена: [-2005532577]: DDERR_INCOMPATIBLEPRIMARY
directDrawSurfaceDesc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
retVal= (mp_directDraw)->CreateSurface( &directDrawSurfaceDesc, &mp_primarySurface, NULL );
ОС: Win Emb Std 32, 6.1, Build 7601, DirectX 9, 11 Спасибо за помощь.