Fix: [OpenGL] Main loop expects to start with the video buffer unmapped. (#9100)

This commit is contained in:
Michael Lutz 2021-04-25 00:43:38 +02:00 committed by Charles Pigott
parent 037bd14ed8
commit 967c2ed56c
3 changed files with 5 additions and 0 deletions

View File

@ -1154,6 +1154,7 @@ void *OpenGLBackend::GetVideoBuffer()
#endif
if (!this->persistent_mapping_supported) {
assert(this->vid_buffer == nullptr);
_glBindBuffer(GL_PIXEL_UNPACK_BUFFER, this->vid_pbo);
this->vid_buffer = _glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_READ_WRITE);
} else if (this->vid_buffer == nullptr) {

View File

@ -74,6 +74,8 @@ const char *VideoDriver_SDL_OpenGL::Start(const StringList &param)
this->Stop();
return "Can't get pointer to screen buffer";
}
/* Main loop expects to start with the buffer unmapped. */
this->ReleaseVideoPointer();
return nullptr;
}

View File

@ -1311,6 +1311,8 @@ const char *VideoDriver_Win32OpenGL::Start(const StringList &param)
_cur_resolution = old_res;
return "Can't get pointer to screen buffer";
}
/* Main loop expects to start with the buffer unmapped. */
this->ReleaseVideoPointer();
MarkWholeScreenDirty();