glshim


I get a splash screen and then crash to prompt... I am guessing it is either Lua imploding or possibly a glshim issue. I was trying to run in gdb but got dwarf 2/4 issues... Might try to do a latest gdb build tonight to try and triage it.
you have to add -gdrawf-2 to the compile option to avoid that (I definitely have to release a new codeblocks pnd, it include latest gdb compatible with dwarf-4).
 
Hi LinuxBochs


Please can you Update your Precompiled GLSHIM and others here http://bochs.info/pnd/.gl/ to your newest Versions?


;)
I haven't changed much recently. I've only merged a couple of ptitseb and ssvb's changes thus far.

You might want to pull one out of a ptitseb release and try that instead. He's made a few improvements.
Okey dokey :)
I extracted them from the latest Oolite PND.


Was a simply and goot Hint from You thx.


With PNDTools for Windows total easily :)
 
Hi LinuxBochs


Please can you Update your Precompiled GLSHIM and others here http://bochs.info/pnd/.gl/ to your newest Versions?


;)
I haven't changed much recently. I've only merged a couple of ptitseb and ssvb's changes thus far.

You might want to pull one out of a ptitseb release and try that instead. He's made a few improvements.
Okey dokey :)
I extracted them from the latest Oolite PND.


Was a simply and goot Hint from You thx.


With PNDTools for Windows total easily :)

must try this :p


Though I do think my tool chain is happy...
 
Hi LinuxBochs


Please can you Update your Precompiled GLSHIM and others here http://bochs.info/pnd/.gl/ to your newest Versions?

;)
I haven't changed much recently. I've only merged a couple of ptitseb and ssvb's changes thus far.

You might want to pull one out of a ptitseb release and try that instead. He's made a few improvements.
Okey dokey :)
I extracted them from the latest Oolite PND.


Was a simply and goot Hint from You thx.


With PNDTools for Windows total easily :)

must try this :p


Though I do think my tool chain is happy...
You'de better clone my github, I make update quite frequently this days ;)
 
No... I am pretty sure it is in a Lua block of code that sets up the display... But I think I need to recompile with dwarf2 first... See if I can debug it at all. Let me see if I can get that updated while I wait for some things at work to finish and get a debug build today...
 
Figures... One piece of code was trying to use a Hard FPU. Now onto figuring out the UI issues. Figures I assumed it was GL... I was wrong.

My only GL issue at the moment is that moving the cursor produces a giant white box that moves with the cursor. I will see what features/settings are available to just use the system cursor.
 
glshim 0.4

Hot off the press with some major changes and over 200 new commits. Many thanks to Ptitseb's efforts on his fork, for finding bugs, identifying missing features, and generally helping out.

Changes


  • Multitexturing is now supported.
  • There's an internal SIMD matrix library courtesy of Vectorial.
  • GL_SELECT and GL_FEEDBACK are now supported.
  • glTexGen is now completely supported (I haven't tested it entirely - there may be bugs).
  • Support has been added for TinyGLES as an external backend. TinyGLES is a software renderer, and it's much faster than Mesa.

    Technically, another real OpenGL driver can also be used as a backend now (with glX and all).
[*]An FPS counter is now shown in Notaz' liveview overlay.

[*]Error messages now have the actual OpenGL enum names instead of just cryptic hex constants. This is powered by my new gl_str.h header.

[*]GLES library discovery has been made much more robust and portable. There's also a new environment variable "LIBGL_GLES" which allows you to specify the name of the GLES library to be used.

[*]Unit testing has been added along with several test cases (I wrote a minimal unit testing framework just for glshim, just because it's a pretty weird use case). It has already resulted in many fixed bugs, and blocked a few broken commits from being released.

[*]Display list tracking has been split from glBegin/End (which is now called "block") tracking, which greatly simplifies and improves things.


  • Infinitely-nested display lists are supported.
  • Global state is properly affected after a block is run, inside or outside a display list.
  • A block inside a display list can now be affected by global state.



  • glGet for polyfilled features is now properly supported, and many enums have been added.
  • There's a new self-resizing array/stack type in "utils/tack.c" which has greatly simplified code.
  • A large number of bugs have been fixed.
 
Last edited by a moderator:
What does this mean?  More games supported and run faster?  What kind of games and how faster?
Where did you see anything related to faster ? :p  

It's most better support of GL functions, so less glitches. TinyGLES may bring some performance improvement but it's still early in development I think, 
 
It means compatibility. More games supported, less completely broken stuff, games look better (especially with multitexturing). Mainline glshim can now run a bunch of the stuff Ptitseb's released using his fork, and even more.

As I put more work into glshim, the numbers on this spreadsheet will go up: https://docs.google.com/spreadsheets/d/1-kNLvmh08Vg_k6sbjMhw20YOY7gBHndSgLVE0KTjU2k

This also makes more things playable (for example, minecraft was a pretty recent development).

Sometimes I put work into performance, but it can be pretty hard to extract more performance out of the Pandora.

bzflag is an example of a new game I've added to my tests that didn't work until this release.
 
Last edited by a moderator:
Hello,

I've compiled Nexuiz 2.5.2 and managed to get to the main menu, where all the text is displayed in boxes instead of letters. Here's the console output I get on startup:

Initializing Video Mode: fullscreen 800x480x32x60hz
Linked against SDL version 1.2.14
Using SDL library version 1.2.14
GL_VENDOR: Imagination Technologies
GL_RENDERER: PowerVR SGX 530
GL_VERSION: 1.4 Narwhal 0.5
glX stub: glPixelStoref
glX stub: glTexSubImage1D
glX stub: glCopyTexImage1D
glX stub: glCopyTexSubImage1D
glX stub: glGetClipPlane
glXGetProcAddress: glDrawRangeElements not found.

Can my issue be related to the incomplete OpenGL implementation, or should I look elsewhere?

Also, I wonder if I'm using the latest glshim, my libGL.so is 148028 bytes and libGLU.so is 97196 bytes. Are sources in the first comment of the thread the latest version? (I remember reading ptitSeb's comment about *his* git)

EDIT:

I have built the latest libs from git, and now the game doesn't start at all:

Code:
Initializing Video Mode: fullscreen 800x480x32x60hz
Linked against SDL version 1.2.14
Using SDL library version 1.2.14
libGL:loaded: libGLES_CM.so
libGL: built on Dec 26 2014 23:49:43
libGL:loaded: libEGL.so
GL_VENDOR: Imagination Technologies
GL_RENDERER: PowerVR SGX 530
GL_VERSION: 1.4 glshim wrapper
glX stub: glPixelStoref
glXGetProcAddress: glTexSubImage1D not found.
glX stub: glCopyTexImage1D
glX stub: glCopyTexSubImage1D
glX stub: glGetClipPlane
Quake Error: OpenGL 1.1.0 functions not found
 
Last edited by a moderator:
Just tried it out. I had to replace 1.0d literal by 1.0 in src/gl/gl.h for your fork to compile (and thanks for including bc_cat.h!)

Nexuiz 2.5.2 stil misses glTexSubImage1D though. Did you alter the code somehow?
 
Last edited by a moderator:
I guess there are a ton of modifications in ptitsebs Nexuiz.


For a start you could replace 1D with 1F though and see if that works.


This might come in handy:

http://pandorawiki.org/Porting_to_GLES_from_GL#section_6


I think not everything is handled properly by glshim right now.
Wasn't the goal of the wrapper to avoid modifications where possible? I bet ptitSeb would create a stub 1D function calling 1F (and fix the issue for all the games out there) instead of fiddling with nexiz sources, if the fix was that easy.
 
Back
Top