glshim icon indicating copy to clipboard operation
glshim copied to clipboard

TSC 2.0.0 (The Secret Chronycle of Dr. M.) menu freeze

Open MagaTailor opened this issue 9 years ago • 3 comments

Even though the game seems to be running fine on Odroid C1 (Mali, 16bpp) it freezes when entering the options menu (with the music still playing):

gdb -x /home/odroid/gdbinit -batch ./tsc
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0xb18c1450 (LWP 8738)]
[Thread 0xb18c1450 (LWP 8738) exited]
libGL:loaded: libGLESv1_CM.so
libGL:loaded: libEGL.so
libGL: built on Sep 12 2015 13:47:10
[New Thread 0xb18c1450 (LWP 8739)]
[New Thread 0xb57d0450 (LWP 8740)]
libGL: GL_INVALID_ENUM when calling glGet<GL_INT>(GL_DRAW_BUFFER)
glXGetProcAddress: glCopyTexSubImage3D not found.
glXGetProcAddress: glDrawRangeElements not found.
glXGetProcAddress: glTexSubImage3D not found.
glXGetProcAddress: glCompressedTexImage1D not found.
glXGetProcAddress: glCompressedTexImage3D not found.
glXGetProcAddress: glCompressedTexSubImage1D not found.
glXGetProcAddress: glCompressedTexSubImage3D not found.
glXGetProcAddress: glGetCompressedTexImage not found.
glXGetProcAddress: glLoadTransposeMatrixd not found.
glXGetProcAddress: glLoadTransposeMatrixf not found.
glXGetProcAddress: glMultTransposeMatrixd not found.
glXGetProcAddress: glMultTransposeMatrixf not found.
glXGetProcAddress: glBlendColor not found.
glXGetProcAddress: glBlendEquation not found.
glXGetProcAddress: glFogCoordPointer not found.
glXGetProcAddress: glMultiDrawArrays not found.
glXGetProcAddress: glMultiDrawElements not found.
glXGetProcAddress: glPointParameteri not found.
glXGetProcAddress: glPointParameteriv not found.
glXGetProcAddress: glSecondaryColorPointer not found.
glXGetProcAddress: glWindowPos2d not found.
glXGetProcAddress: glWindowPos2dv not found.
glXGetProcAddress: glWindowPos2f not found.
glXGetProcAddress: glWindowPos2fv not found.
glXGetProcAddress: glWindowPos2i not found.
glXGetProcAddress: glWindowPos2iv not found.
glXGetProcAddress: glWindowPos2s not found.
glXGetProcAddress: glWindowPos2sv not found.
glXGetProcAddress: glWindowPos3d not found.
glXGetProcAddress: glWindowPos3dv not found.
glXGetProcAddress: glWindowPos3f not found.
glXGetProcAddress: glWindowPos3fv not found.
glXGetProcAddress: glWindowPos3i not found.
glXGetProcAddress: glWindowPos3iv not found.
glXGetProcAddress: glWindowPos3s not found.
glXGetProcAddress: glWindowPos3sv not found.
glXGetProcAddress: glMultiTexCoord1dARB not found.
glXGetProcAddress: glMultiTexCoord1dvARB not found.
glXGetProcAddress: glMultiTexCoord1fARB not found.
glXGetProcAddress: glMultiTexCoord1fvARB not found.
glXGetProcAddress: glMultiTexCoord1iARB not found.
glXGetProcAddress: glMultiTexCoord1ivARB not found.
glXGetProcAddress: glMultiTexCoord1sARB not found.
glXGetProcAddress: glMultiTexCoord1svARB not found.
glXGetProcAddress: glMultiTexCoord2dARB not found.
glXGetProcAddress: glMultiTexCoord2dvARB not found.
glXGetProcAddress: glMultiTexCoord2iARB not found.
glXGetProcAddress: glMultiTexCoord2ivARB not found.
glXGetProcAddress: glMultiTexCoord2sARB not found.
glXGetProcAddress: glMultiTexCoord2svARB not found.
glXGetProcAddress: glMultiTexCoord3dARB not found.
glXGetProcAddress: glMultiTexCoord3dvARB not found.
glXGetProcAddress: glMultiTexCoord3fARB not found.
glXGetProcAddress: glMultiTexCoord3fvARB not found.
glXGetProcAddress: glMultiTexCoord3iARB not found.
glXGetProcAddress: glMultiTexCoord3ivARB not found.
glXGetProcAddress: glMultiTexCoord3sARB not found.
glXGetProcAddress: glMultiTexCoord3svARB not found.
glXGetProcAddress: glMultiTexCoord4dARB not found.
glXGetProcAddress: glMultiTexCoord4dvARB not found.
glXGetProcAddress: glMultiTexCoord4iARB not found.
glXGetProcAddress: glMultiTexCoord4ivARB not found.
glXGetProcAddress: glMultiTexCoord4sARB not found.
glXGetProcAddress: glMultiTexCoord4svARB not found.
glXGetProcAddress: glBlendColorEXT not found.
glXGetProcAddress: glBlendEquationSeparateEXT not found.
glXGetProcAddress: glBlendFuncSeparateEXT not found.
glXGetProcAddress: glSecondaryColorPointerEXT not found.
glXGetProcAddress: glXCreateNewContext not found.
glXGetProcAddress: glXCreatePbuffer not found.
glXGetProcAddress: glXCreatePixmap not found.
glXGetProcAddress: glXDestroyPbuffer not found.
glXGetProcAddress: glXDestroyPixmap not found.
glXGetProcAddress: glXGetCurrentReadDrawable not found.
glXGetProcAddress: glXGetSelectedEvent not found.
glXGetProcAddress: glXMakeContextCurrent not found.
glXGetProcAddress: glXQueryContext not found.
glXGetProcAddress: glXQueryDrawable not found.
glXGetProcAddress: glXSelectEvent not found.
[New Thread 0xb49ad450 (LWP 8742)]
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
warning: invoking glX stub
ERROR: EGL Error detected: EGL_BAD_NATIVE_WINDOW (0x300B)
ERROR: EGL Error detected: EGL_BAD_MATCH (0x3009)
Failed to switch to pbuffer for rendering
ERROR: EGL Error detected: EGL_BAD_NATIVE_WINDOW (0x300B)
ERROR: EGL Error detected: EGL_BAD_MATCH (0x3009)
Failed to switch from pbuffer rendering
ERROR: EGL Error detected: EGL_BAD_NATIVE_WINDOW (0x300B)
ERROR: EGL Error detected: EGL_BAD_MATCH (0x3009)
Failed to switch to pbuffer for rendering
ERROR: EGL Error detected: EGL_BAD_NATIVE_WINDOW (0x300B)
ERROR: EGL Error detected: EGL_BAD_MATCH (0x3009)
Failed to switch from pbuffer rendering
Error : GL image generation failed
Error : GL image generation failed
Error : GL image generation failed
glActiveTexture: texture > GL_TEXTURE_MAX
stub: void glPolygonMode(GLenum face, GLenum mode);
stub: void glPolygonMode(GLenum face, GLenum mode);
ERROR: EGL Error detected: EGL_BAD_NATIVE_WINDOW (0x300B)
ERROR: EGL Error detected: EGL_BAD_MATCH (0x3009)
Failed to switch to pbuffer for rendering

Program received signal SIGTERM, Terminated.
0xb6eeb412 in npot (n=n@entry=2147483647) at /tmp/glshim-unstable/src/gl/texture.c:19
19      /tmp/glshim-unstable/src/gl/texture.c: No such file or directory.
#0  0xb6eeb412 in npot (n=n@entry=2147483647) at /tmp/glshim-unstable/src/gl/texture.c:19
#1  0xb6ef05c6 in update_viewport (x=x@entry=0, y=y@entry=0, width=width@entry=2147483647, height=height@entry=2147483647) at /tmp/glshim-unstable/src/gl/raster.c:20
#2  0xb6ef112c in glViewport (x=0, y=0, width=2147483647, height=2147483647) at /tmp/glshim-unstable/src/gl/raster.c:44
#3  0x003076e4 in CEGUI::OpenGLRenderTarget::activate (this=0x13fcb70) at CEGUIOpenGLRenderTarget.cpp:79
#4  0x003177d6 in CEGUI::RenderingSurface::draw (this=this@entry=0x165d7b8) at CEGUIRenderingSurface.cpp:105
#5  0x00318356 in CEGUI::RenderingWindow::draw (this=0x165d7b8) at CEGUIRenderingWindow.cpp:206
#6  0x003313d6 in CEGUI::Window::render (this=0x10c8320) at CEGUIWindow.cpp:1216
#7  0x003313c4 in CEGUI::Window::render (this=0x1515858) at CEGUIWindow.cpp:1211
#8  0x003313c4 in CEGUI::Window::render (this=0x674190) at CEGUIWindow.cpp:1211
#9  0x00325140 in CEGUI::System::renderGUI (this=0x5b4490) at CEGUISystem.cpp:408
#10 0x0024ecec in TSC::cVideo::Render(bool) ()
#11 0x001e115a in main ()

MagaTailor avatar Sep 14 '15 19:09 MagaTailor

All my testing so far has been done on Odroid C1, have a look at eglinfo:

https://gist.github.com/petevine/c681e8613da9c4bb205c

MagaTailor avatar Sep 14 '15 20:09 MagaTailor

Looks like they're trying to call glCreatePbufferARB() which I don't implement yet. I'll likely need to wrap to eglCreatePbufferSurface().

Their code is here: https://github.com/cooljeanius/CEGUI/blob/master/cegui/src/RendererModules/OpenGL/CEGUIOpenGLWGLPBTextureTarget.cpp#L243

lunixbochs avatar Sep 14 '15 20:09 lunixbochs

After rebuilding ptitSeb's glshim with two functions commented out (you probably read his advice in the pandora thread) the game is fully usable.

MagaTailor avatar Sep 15 '15 00:09 MagaTailor