Opened 4 years ago
Closed 4 years ago
#11968 closed defect (fixed)
BACKENDS: AMIGAOS: Fix GL crash on AmigaOS4 (at least)
Reported by: | raziel- | Owned by: | raziel- |
---|---|---|---|
Priority: | normal | Component: | Port: AmigaOS4 |
Version: | Keywords: | ||
Cc: | Game: | Grim Fandango |
Description
ScummVM 2.3.0git (Nov 22 2020 10:09:58)
Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC A/52 FreeType2 FriBiDi JPEG PNG cloud (servers, local) TinyGL OpenGL
It looks like OpenGL calls are executed without context.
Just before the crash:
[OS4_GL_MakeCurrent] Called window=0x00000000 context=0x00000000
[OS4_GL_DeleteContext] Called with context=0x6319D300
[OS4_GL_DeleteContext] Found MiniGL context, clearing window binding
[OS4_GL_GetProcAddress] Called for 'glGetString'
[OS4_GL_GetProcAddress] Called for 'glGetIntegerv'
So, the context was deleted right before the crash happened on glGetInteger.
I think the issue might be in ScummVM, because SDL_GL_GetAttribute is supposed to get information about "the current context" ( https://wiki.libsdl.org/SDL_GL_GetAttribute ), which doesn't exist (== nullptr) here:
https://github.com/scummvm/scummvm/blob/master/backends/graphics3d/openglsdl/openglsdl-graphics3d.cpp#L182
Please be aware that i´m not sure if this is the correct solution (especially because it addresses all platforms), it at least fixes all the crashes i get in numerous 3D games for me (Grim, EMI, Myst3, WME etc.)
Please advise, thank you
AmigaOS4 - PPC - SDL - BE
gcc (adtools build 8.3.0) 8.3.0
Change History (2)
comment:1 by , 4 years ago
Summary: | GRAPHICS: Fix GL crash on AmigaOS4 (at least) → BACKENDS: AMIGAOS: Fix GL crash on AmigaOS4 (at least) |
---|
comment:2 by , 4 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Fixed in local SDL port