Fix: [OpenGL] Main loop expects to start with the video buffer unmapped. (#9100)
This commit is contained in:
		| @@ -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) { | ||||
|   | ||||
| @@ -74,6 +74,8 @@ const char *VideoDriver_SDL_OpenGL::Start(const StringList ¶m) | ||||
| 		this->Stop(); | ||||
| 		return "Can't get pointer to screen buffer"; | ||||
| 	} | ||||
| 	/* Main loop expects to start with the buffer unmapped. */ | ||||
| 	this->ReleaseVideoPointer(); | ||||
|  | ||||
| 	return nullptr; | ||||
| } | ||||
|   | ||||
| @@ -1311,6 +1311,8 @@ const char *VideoDriver_Win32OpenGL::Start(const StringList ¶m) | ||||
| 		_cur_resolution = old_res; | ||||
| 		return "Can't get pointer to screen buffer"; | ||||
| 	} | ||||
| 	/* Main loop expects to start with the buffer unmapped. */ | ||||
| 	this->ReleaseVideoPointer(); | ||||
|  | ||||
| 	MarkWholeScreenDirty(); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Michael Lutz
					Michael Lutz