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 sev-, 4 years ago

Summary: GRAPHICS: Fix GL crash on AmigaOS4 (at least)BACKENDS: AMIGAOS: Fix GL crash on AmigaOS4 (at least)

comment:2 by raziel-, 4 years ago

Owner: set to raziel-
Resolution: fixed
Status: newclosed

Fixed in local SDL port

Note: See TracTickets for help on using tickets.