X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fwin32%2FGenaDrive%2FDirect.cpp;h=3c8f3769b61d0f3ba1aa3854dbba422178090cc4;hb=4609d0cdb87fcdd5f419153d7a76e2b06242b294;hp=b8112d3be414b76865f02bd7b68438120b6bc2c5;hpb=278922b838bb8a8569f25660f7bdcb2d271879f3;p=picodrive.git diff --git a/platform/win32/GenaDrive/Direct.cpp b/platform/win32/GenaDrive/Direct.cpp index b8112d3..3c8f376 100644 --- a/platform/win32/GenaDrive/Direct.cpp +++ b/platform/win32/GenaDrive/Direct.cpp @@ -95,7 +95,7 @@ static int DirectScreenDDraw() ret = m_pddsBackBuffer->Lock(NULL, &sd, DDLOCK_SURFACEMEMORYPTR|DDLOCK_WAIT|DDLOCK_WRITEONLY, NULL); if (ret) { LOGFAIL(); return 1; } - //dprintf2("w: %i h: %i pi: %i pf: %i\n", sd.dwWidth, sd.dwHeight, sd.lPitch, sd.ddpfPixelFormat.dwRGBBitCount); + //lprintf("w: %i h: %i pi: %i pf: %i\n", sd.dwWidth, sd.dwHeight, sd.lPitch, sd.ddpfPixelFormat.dwRGBBitCount); if (sd.ddpfPixelFormat.dwRGBBitCount == 32) { @@ -160,7 +160,9 @@ static int DirectClearDDraw(unsigned int colour) static int DirectPresentDDraw() { - int ret = m_pddsFrontBuffer->Blt(&FrameRectMy, m_pddsBackBuffer, &EmuScreenRect, DDBLT_WAIT, NULL); + int ret = 0; + if (FrameRectMy.right - FrameRectMy.left > 0 && FrameRectMy.bottom - FrameRectMy.top > 0) + ret = m_pddsFrontBuffer->Blt(&FrameRectMy, m_pddsBackBuffer, &EmuScreenRect, DDBLT_WAIT, NULL); if (ret) { LOGFAIL(); return 1; } return 0; } @@ -388,7 +390,7 @@ int DirectScreen() TexScreenSwizzle(); #else ret=TexScreenLinear(); - if (ret) dprintf2("TexScreenLinear failed\n"); + if (ret) lprintf("TexScreenLinear failed\n"); #endif SetupMatrices(); @@ -397,7 +399,7 @@ int DirectScreen() // Copy vertices in: VertexBuffer->Lock(0,sizeof(VertexList),&lock,0); - if (lock==NULL) { dprintf2("VertexBuffer->Lock failed\n"); return 1; } + if (lock==NULL) { lprintf("VertexBuffer->Lock failed\n"); return 1; } memcpy(lock,VertexList,sizeof(VertexList)); VertexBuffer->Unlock();