[Scummvm-tracker] [ScummVM :: Bugs] #12079: Return to Launcher crash with RGB rendering on and different graphic mode from global opengl
ScummVM :: Bugs
trac at scummvm.org
Sun Jan 24 21:46:08 UTC 2021
#12079: Return to Launcher crash with RGB rendering on and different graphic mode
from global opengl
--------------------+--------------------------
Reporter: Tucky27 | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: SCI
Version: | Resolution:
Keywords: | Game:
--------------------+--------------------------
Comment (by criezy):
Here is what I found when investigating this: when switching between SDL
and OpenGL graphics mode, the call to `g_system->setGraphicsMode` executes
`OSystem_SDL::setGraphicsMode` which copies the state of the old graphics
manager, deletes that manager, creates the new one, and sets its state. In
this specific setting the state in the new OpenGLGraphicsManager fails,
and that results in the assert on the next line trying to set the stretch
mode.
The reason it fails is that the game was using format ARGB8888 with the
SDL graphics manager. But the OpenGL graphics manager does not support
that format, and as a result trying to set it fails.
My suggestion to fix that would be in `SdlGraphicsManager::setState` to
not blindly use the pixel format from the state, but check that it is
supported and if not use the first format from `getSupportedFormats()`.
--
Ticket URL: <https://bugs.scummvm.org/ticket/12079#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list