diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 952c2f0ea..8b82c18ec 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,4 +1,7 @@ November 28, 2009 +- Fixed: Windowed mode always needs to draw to the temporary surface, even + when not gamma correcting, so that D3DFB::GetCurrentScreen() can read from + it. - Use the spawned class's scale as default for ScriptedMarine instead of DoomPlayer. diff --git a/src/win32/fb_d3d9.cpp b/src/win32/fb_d3d9.cpp index ac6cda921..f5978e750 100644 --- a/src/win32/fb_d3d9.cpp +++ b/src/win32/fb_d3d9.cpp @@ -1141,7 +1141,7 @@ void D3DFB::Draw3DPart(bool copy3d) D3DDevice->SetRenderState(D3DRS_ANTIALIASEDLINEENABLE, vid_hwaalines); assert(OldRenderTarget == NULL); if (TempRenderTexture != NULL && - ((Windowed && GammaShader && TempRenderTexture != FinalWipeScreen) || GatheringWipeScreen || PixelDoubling)) + ((Windowed && TempRenderTexture != FinalWipeScreen) || GatheringWipeScreen || PixelDoubling)) { IDirect3DSurface9 *targetsurf; if (SUCCEEDED(TempRenderTexture->GetSurfaceLevel(0, &targetsurf))) diff --git a/src/win32/fb_d3d9_wipe.cpp b/src/win32/fb_d3d9_wipe.cpp index 699407b85..9c446a5b2 100644 --- a/src/win32/fb_d3d9_wipe.cpp +++ b/src/win32/fb_d3d9_wipe.cpp @@ -164,7 +164,7 @@ bool D3DFB::WipeStartScreen(int type) // Create another texture to copy the final wipe screen to so // we can still gamma correct the wipe. Since this is just for // gamma correction, it's okay to fail (though not desirable.) - if (PixelDoubling || (Shaders[SHADER_GammaCorrection] != NULL && Windowed)) + if (PixelDoubling || Windowed) { if (SUCCEEDED(TempRenderTexture->GetSurfaceLevel(0, &tsurf))) {