Ошибка DDRAW CreateSurface (DDSCAPS_VIDEOMEMORY) - PullRequest
0 голосов
/ 10 марта 2020

Следующий 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 Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...