Correct modeset timing on some systems
Co-authored-by: Marcus Minhorst <marcus.minhorst@gmail.com>
This commit is contained in:
parent
3d39bf33bb
commit
b8807b7d99
3 changed files with 9 additions and 8 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -21,6 +21,7 @@ fmodapi*linux/
|
|||
.vscode
|
||||
.cache
|
||||
*.kate-swp
|
||||
*.geany
|
||||
|
||||
# private dev files
|
||||
*.user
|
||||
|
|
|
|||
|
|
@ -667,6 +667,13 @@ void FStartScreen::Render(bool force)
|
|||
// Do not refresh too often. This function gets called a lot more frequently than the screen can update.
|
||||
if (nowtime - screen->FrameTime > minwaittime || force)
|
||||
{
|
||||
if (setmodeneeded)
|
||||
{
|
||||
setmodeneeded = false;
|
||||
screen->ToggleFullscreen(vid_fullscreen);
|
||||
V_OutputResized(screen->GetWidth(), screen->GetHeight());
|
||||
}
|
||||
|
||||
screen->FrameTime = nowtime;
|
||||
screen->BeginFrame();
|
||||
twod->ClearClipRect();
|
||||
|
|
@ -694,13 +701,6 @@ void FStartScreen::Render(bool force)
|
|||
DrawTexture(twod, StartupTexture, 0, 0, DTA_VirtualWidthF, displaywidth, DTA_VirtualHeightF, displayheight, TAG_END);
|
||||
}
|
||||
|
||||
if (setmodeneeded)
|
||||
{
|
||||
setmodeneeded = false;
|
||||
screen->ToggleFullscreen(vid_fullscreen);
|
||||
V_OutputResized(screen->GetWidth(), screen->GetHeight());
|
||||
}
|
||||
|
||||
twod->End();
|
||||
screen->Update();
|
||||
twod->OnFrameDone();
|
||||
|
|
|
|||
|
|
@ -3353,6 +3353,7 @@ static int D_InitGame(const FIWADInfo* iwad_info, std::vector<std::string>& allw
|
|||
FBaseCVar::EnableCallbacks ();
|
||||
|
||||
StartScreen = nostartscreen? nullptr : GetGameStartScreen(per_shader_progress > 0 ? max_progress * 10 / 9 : max_progress + 3);
|
||||
setmodeneeded = true;
|
||||
if (StartScreen != nullptr) StartScreen->Render();
|
||||
|
||||
// +compatmode cannot be used on the command line, so use this as a substitute
|
||||
|
|
@ -3543,7 +3544,6 @@ static int D_InitGame(const FIWADInfo* iwad_info, std::vector<std::string>& allw
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
setmodeneeded = true;
|
||||
}
|
||||
|
||||
// [SP] Force vanilla transparency auto-detection to re-detect our game lumps now
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue