Opened 3 years ago
Closed 3 years ago
#11768 closed defect (fixed)
GRIM: Framebuffer is not complete! status: 36054!
|Reported by:||lmerckx||Owned by:||aquadran|
Description (last modified by )
For GRIM engine, this error occurs with OpenGL and OpenGLES in fullscreen mode (tested on x64 and Raspberry PI2 and 3).
After some debugging, I came to the conclusion that OpenGLSdlGraphics3dManager::createOrUpdateScreen() is called before the initSize method.
So, variables _engineRequestedWidth and _engineRequestedHeight are still 0; which leads to the creation of a 0x0 frame buffer.
And causes the error and a black screen at startup.
A simple test like this at the beginning of createOrUpdateScreen() works but it is perhaps not the good solution:
if ((_engineRequestedWidth == 0) || (_engineRequestedHeight == 0)) return;
Change History (7)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
comment:3 by , 3 years ago
To help understanding the problem, here is a "stack trace" of the call:
From engine.cpp::initGraphics3d(), a call g_system->setGraphicsMode(...) is done.
Here are the classes and methods called from there:
OSystem_SDL::setGraphicsMode() -> SdlGraphics3dManager::setDefaultFeatureState() -> OpenGLSdlGraphics3dManager::setFeatureState(kFeatureFullscreenMode) -> OpenGLSdlGraphics3dManager::createOrUpdateScreen()
And so, createOrUpdateScreen() is called but initSize() has not been called yet, and _engineRequestedWidth/_engineRequestedHeight are not initialized !
comment:4 by , 3 years ago
Still debugging ...
removing the lines
if (sdlGraphicsManager) sdlGraphics3dManager->setDefaultFeatureState();
in backends/platform/sdl/sdl.cpp, around lines 795, also works.
It seems better because these lines have been added lately to the original ResidualVM code.
Are they really needed ? Because they call createOrUpdateScreen() as side-effect before the end of initialization ...
comment:5 by , 3 years ago
|Game:||→ Grim Fandango|
|Priority:||normal → high|
comment:6 by , 3 years ago
fixed with commit bb388295a465ef2443a419bc399ae52e71c39df5
comment:7 by , 3 years ago
|Status:||new → closed|
I am also experiencing this issue, running on Windows 10. It has happened for me with both daily builds 2.3.0git9310-g3fc7fc285e and 2.3.0git9333-g0582662f64.