proleme directdraw : incompatibilite entre DDSD_LPSURFACE et DDSCAPS_SYSTEMMEMORY
1 réponse
torri
j'utilise directdraw pour un moteur 2d (je sais que directdraw est
obsolete mais je dois neanmoins l'utiliser). Je dois creer une surface
dont la memoire est creee dans la memoire systeme et non la memoire du
gpu.
J'ai utilise le code suivant (je suis en 16bpp) :
void *source;
source = malloc(width * height * 2);
if (!source)
{
// je sors
}
res = o->CreateSurface(&surface_desc, surface_source, NULL);
et res n'est pas DD_OK. L'erreur est "parametres invalides".
Si j'enleve le flag DDSD_LPSURFACE, il n'y a pas d'erreur. Comment dois- je creer la surface directdraw dans mon cas ?
Là, ils ont l'air de passer ce qui est retourné par un DIB : http://cvs.transgaming.org/cgi-bin/viewcvs.cgi/*checkout*/winex/dlls/ddraw/ddraw/main.c?rev=1.4 ou d' autres exemples du SDK avec DDSD_LPSURFACE http://csclab.murraystate.edu/bob.pilgrim/info/DirectX/DirectX%208%20SDK/samples/multimedia/directdraw/multimon/multimon.cpp
res = o->CreateSurface(&surface_desc, surface_source, NULL);
et res n'est pas DD_OK. L'erreur est "parametres invalides".
Si j'enleve le flag DDSD_LPSURFACE, il n'y a pas d'erreur. Comment dois-
je creer la surface directdraw dans mon cas ?
Là, ils ont l'air de passer ce qui est retourné par un DIB :
http://cvs.transgaming.org/cgi-bin/viewcvs.cgi/*checkout*/winex/dlls/ddraw/ddraw/main.c?rev=1.4
ou d' autres exemples du SDK avec DDSD_LPSURFACE
http://csclab.murraystate.edu/bob.pilgrim/info/DirectX/DirectX%208%20SDK/samples/multimedia/directdraw/multimon/multimon.cpp
res = o->CreateSurface(&surface_desc, surface_source, NULL);
et res n'est pas DD_OK. L'erreur est "parametres invalides".
Si j'enleve le flag DDSD_LPSURFACE, il n'y a pas d'erreur. Comment dois- je creer la surface directdraw dans mon cas ?
Là, ils ont l'air de passer ce qui est retourné par un DIB : http://cvs.transgaming.org/cgi-bin/viewcvs.cgi/*checkout*/winex/dlls/ddraw/ddraw/main.c?rev=1.4 ou d' autres exemples du SDK avec DDSD_LPSURFACE http://csclab.murraystate.edu/bob.pilgrim/info/DirectX/DirectX%208%20SDK/samples/multimedia/directdraw/multimon/multimon.cpp