glshim


I know I can already build it with jwzgles, what I meant was that we could build it with this lib to test the lib .. 
 
One of these days .. one of these days .. actually, I haven't turned my Pandora on in a month.  Its probably time I did.
 
Just like to note that I attempted to build Kivy with this and failed. I dropped the three libraries in /usr/lib, ran Kivy's build, and failed with gcc being unable to find -lGL. I assume this is my fault somehow, not libGL's, but it's not sufficiently important to me to keep trying.
 
Do not try to link anything with this library. Use the library and headers from the toolchains instead.


Also you might want to create a symlink to libGL.so
 
Last edited by a moderator:
build-deps.tar.gz should have the headers and libraries you need for linking if they're not in your toolchain.
 
Had forgotten about build-deps; it did the trick. I'll readily admit to knowing little about compilation, so I apologize for the trouble.

Anyway, Kivy built, but all the examples fail with undefined symbol: glBlendFuncSeparate. Not yet implemented I suppose?
 
I just uploaded a new version with stubs for glBlendFuncSeparate and glBlendEquationSeparate.
 
That lead to a different missing symbol (glDisableVertexAttribArray). But rather than going back-and-forth forever, I used nm to check what symbols it needs. There are 137 of them :wacko: . I'm not certain what symbols have already been implemented, but if you can give me a way to check, I'll come back with the difference.

Code:
$ nm *.so | grep "U gl" | sort -u
         U glActiveTexture
         U glAttachShader
         U glBindAttribLocation
         U glBindBuffer
         U glBindFramebuffer
         U glBindRenderbuffer
         U glBindTexture
         U glBlendColor
         U glBlendEquation
         U glBlendEquationSeparate
         U glBlendFunc
         U glBlendFuncSeparate
         U glBufferData
         U glBufferSubData
         U glCheckFramebufferStatus
         U glClear
         U glClearColor
         U glClearStencil
         U glColorMask
         U glCompileShader
         U glCompressedTexImage2D
         U glCompressedTexSubImage2D
         U glCopyTexImage2D
         U glCopyTexSubImage2D
         U glCreateProgram
         U glCreateShader
         U glCullFace
         U glDeleteBuffers
         U glDeleteFramebuffers
         U glDeleteProgram
         U glDeleteRenderbuffers
         U glDeleteShader
         U glDeleteTextures
         U glDepthFunc
         U glDepthMask
         U glDetachShader
         U glDisable
         U glDisableVertexAttribArray
         U glDrawArrays
         U glDrawElements
         U glEnable
         U glEnableVertexAttribArray
         U glFinish
         U glFlush
         U glFramebufferRenderbuffer
         U glFramebufferTexture2D
         U glFrontFace
         U glGenBuffers
         U glGenFramebuffers
         U glGenRenderbuffers
         U glGenTextures
         U glGenerateMipmap
         U glGetActiveAttrib
         U glGetActiveUniform
         U glGetAttachedShaders
         U glGetAttribLocation
         U glGetBooleanv
         U glGetBufferParameteriv
         U glGetError
         U glGetFloatv
         U glGetFramebufferAttachmentParameteriv
         U glGetIntegerv
         U glGetProgramInfoLog
         U glGetProgramiv
         U glGetRenderbufferParameteriv
         U glGetShaderInfoLog
         U glGetShaderSource
         U glGetShaderiv
         U glGetString
         U glGetTexParameterfv
         U glGetTexParameteriv
         U glGetUniformLocation
         U glGetUniformfv
         U glGetUniformiv
         U glGetVertexAttribPointerv
         U glGetVertexAttribfv
         U glGetVertexAttribiv
         U glHint
         U glIsBuffer
         U glIsEnabled
         U glIsFramebuffer
         U glIsProgram
         U glIsRenderbuffer
         U glIsShader
         U glIsTexture
         U glLineWidth
         U glLinkProgram
         U glPixelStorei
         U glPolygonOffset
         U glReadPixels
         U glRenderbufferStorage
         U glSampleCoverage
         U glScissor
         U glShaderSource
         U glStencilFunc
         U glStencilFuncSeparate
         U glStencilMask
         U glStencilMaskSeparate
         U glStencilOp
         U glStencilOpSeparate
         U glTexImage2D
         U glTexParameterf
         U glTexParameterfv
         U glTexParameteri
         U glTexParameteriv
         U glTexSubImage2D
         U glUniform1f
         U glUniform1fv
         U glUniform1i
         U glUniform1iv
         U glUniform2f
         U glUniform2fv
         U glUniform2i
         U glUniform2iv
         U glUniform3f
         U glUniform3fv
         U glUniform3i
         U glUniform3iv
         U glUniform4f
         U glUniform4fv
         U glUniform4i
         U glUniform4iv
         U glUniformMatrix2fv
         U glUniformMatrix3fv
         U glUniformMatrix4fv
         U glUseProgram
         U glValidateProgram
         U glVertexAttrib1f
         U glVertexAttrib1fv
         U glVertexAttrib2f
         U glVertexAttrib2fv
         U glVertexAttrib3f
         U glVertexAttrib3fv
         U glVertexAttrib4f
         U glVertexAttrib4fv
         U glVertexAttribPointer
         U glViewport
 
Tempel .. you can nm both sides (kivy and the gl lib), then sort | uniq each list and compare.. maybe a 'diff' :)
 
I'm building on Pandora with cdevtools, so the only libGLU is linuxbochs's. But I'm not certain Kivy even uses GLU. But then again, I barely know what I'm talking about.


skeezix: considered that, but results won't come out from the two binaries in exactly the same way, so it will take some more scripting chops to make happen. Or I'll just compare manually. Either way, it'll take a little while.
 
Last edited by a moderator:
Code:
glAttachShader - it depends on shaders and probably won't work for the time being
 
Last edited by a moderator:
A question from my most deep ignorance.

Can this be used somehow to add the already existing graphical plugins (the opngl ones of course) for mupen64 and pcsx pc versions to the versions we tun on the pandora?
 
Of course this would work, if every command that those plugins need is implemented and Ou can compile them for arm.
 
Of course this would work, if every command that those plugins need is implemented and Ou can compile them for arm.
Great, this project looks awesome. A lot of new native games, and the possibility to improve existing emulators.

Thanks a lot linuxbochs
 
So has anyone tried building qemu with this for 3D? I get jitters thinking about Half Life.
 
I think lunixbochs himself tried to do that but didn't get any good results.
 
Back
Top