Closed kas1e closed 2 years ago
Also, if shader should be of this kind (while imho, it need to be a bit rewriten, as 120 do not support uniform location of this kind), we maybe should in gl4es after those 3 test shaders clear the GL_ERROR, so it will be point to the APP that we do have GL_ERROR.
The tests shaders are just test shaders, it should not impact anything running.
If the tests gives you some issue, you can disable them with LIBGL_NOTEST=1
env. var. Maybe glError should be reset after the init?
(the shader with location on version 120 is because there is 1 unofficial PowerVR extension that seems to allow that, but I haven't really used it, but the test is in place)
LIBGL_NOTEST 1
didn't help, it still the same run tests (i can see words "GLSL 300 es supported" and "GLSL 310 es supported", but your changes in gl4es itself with reseting GL_ERROR after test shader check - that did help for sure, thanks ! :)
Ah, NOTEST was not working? strange. Glad the reset of gl error worked.
Anyway, how are you? it's been a long time!
Ah, NOTEST was not working? strange.
Yeah, NOTEST definately not working.
Anyway, how are you? it's been a long time!
Still updating our components bit by bit, and for now we tried to port this good game: https://github.com/jorio/CroMagRally, that from where i got this GL_ERROR firstly
Oh, that seems like a lovely game! I'll try to get it running on Pandora and Pyra :D
I don't remember if Pandora and Pyra little endian or big-endian, but for make this game to work there surely need some big-endian fixes (even if it was born on big-endian macs, it seems a little bit rewritten and not works as it on big-endian). I.e. game loads up, menu works, etc, but once you choose a level (at least on big endian), you do have :
CMR Fatal Alert: Skeleton file has wrong version #
And also:
ParseBG3DFile: FSRead failed
We think that first one happens because of that:
https://github.com/jorio/Pomme/blob/master/src/Utilities/structpack.h#L52 https://github.com/jorio/Pomme/blob/master/src/Utilities/structpack.h#L33
But not sure.. But looks like for real endian issues
@ptitSeb Author add big-endian fixes as well, check this out how it looks like on my hardware:
https://www.youtube.com/watch?v=2TGcASKjyoo
Through we do have one small issue: all the powerups/bonuses in the levels do not visibly, but only their shadow (you can see it on video as well). Currently do not know if it issues with our drivers , or gl4es, or endian-issues-left.
Looks very nice! I haven't built it for Pandora yet, it should be done today (I needed to update cmake first). Pandora is little endian, so if I don't see the bonus, I'll debug gl4es there.
Yeah, looks quite good :) Btw we checked game on morphos (other ppc os, with their own drivers), and they do have bonuses/powerup visibly, so my bet it can be something on our side (our drivers or gl4es) and not in big-endian stuff in the game
Ah ok. Still not ready to check on the Pandora, I need to rebuild cmake (I forgot ccmake, and cmake is such a beast to build!)
I tested, and I see the upgrades on the track, so not a direct gl4es issue it seems.
Damn.. They visibly together with shadow, etc ? If so .. what it can be ? I think about 2 possible moments: shaders which gl4es compile didn't works correctly on our side, or, some endian issues left (but then, developer from morphos (other os, ppc one too) says that on his drivers he see it too ..
yep...
Right, they visibly, but didn't they looks like some texture x2 or something ? (so to find out the difference between other textures/objects)
The Pandora have a very limited hardware. Texture size is limited to 2048x2048 and the games needs bigger (I supposed all the bonus are in a 1 big atlas), so I used LIBGL_SHRINK=11
to shrink larger textures.
I don't expect youto have any problem like that, as the radeon usualy have 16384x16384 texture size or something like that.
What i mean maybe npot differences may act there somehow ? I will try to trace all the stuff firstly to see how it, maybe there some errors somewhere.
So, I reproduce the issue with the missing bonus on the Pyra (I don't need LIBGL_SHRINK there). I'll check how to fix it.
Oh cool ! Mean not endian issues ! Interesting what the differences between Pandora and Pyra there ..
Ok, I think I have found the issue. Some buggy RGBA->5551 conversion (the alpha chanel was wrong)
Yeah ! It works ! Wohoo !
Btw, you may also want to port OttoMattic from the same author:
https://github.com/jorio/OttoMatic/
See how good is it:
(through currently too much blue in the settings and help menu, not sure if it gl4es issue or not fully done endian fixes)
Btw, if you will port OttoMattic, author says that looks like multitextured animated models are shaded incorrectly. The main character, the brian alien, and the mantis are too bright in the main menu. They're supposed to look like this:
For me (if you see on video), there no solid coloring. I assume it can be because we do miss "shadows" support in GL4ES ? That how it looks like for me:
Yeah, I'll port Otto Matic once I'm done with Cro-Mag Rally. And I'll check the self shadow issue then.
By the way, did on Pandora / Pyra used the same pathes as on linux ? Or they also have something weird like we have work:games/aaa
?
We just found there issues with saving/loading preferences/scroreboard not from directory of the game, but instead in the volume's root directory.. I do trying to fix it with change in Pomme/src/Files/Files.cpp :
....
#ifdef _WIN32
path = Pomme::Platform::Windows::GetPreferencesFolder();
#elif defined(__amigaos4__)
const char *home = "PROGDIR:";
path = fs::path(home);
#elif defined(__APPLE__)
....
But then it still use root volume, and not currentdir (which is PROGDIR:) for us.
Do you have any problems with on Pandora/Pyra ?
Pandora and Pyra use linux regular path, I haven't noticed issue, but I have done very limited tests on my side.
About shading issues we have in OttoMatic that what author says:
The three multitextured models in the main menu (robot, alien, mantis) have standard texture mapping with standard Gouraud shading + a sphere mapping effect with an extra texture to achieve a "shiny" look.
The sphere mapping looks fine (the alien looks shiny). However, the Gouraud shading is missing, so those models aren't affected by lighting.
Objects that are not multitextured are correctly Gouraud-shaded in your video: the humans, the clown, the planet's central sphere, etc.
This problem affects all multitextured objects in your video.
Ok, that helps. probably a shader is not built correctly. And it renders fine with GLES1.1 backend. I'll do a capture and check what is going on tomorow or sunday.
But it the same reproducable on ogles2 on your hardware too ? (just to be sure it's not shaders issues on our drivers)
Yes, I don't see the gourau shading with GLESv2 backend on the Pandora.
It should be fixed now. Now, if you have new issue, please open new ticets so this one can be closed.
Yeah ! Fixed ! Thanks a bunch !:)
Hi ptitSeb !
Do not know if it again issue on our side or something inside of gl4es, but lately found that problem: we do have such small test case:
Now, when i compile it with minigl all fine, no errors, but when i do compile it with gl4es and it tries to create some test shaders, it do return GL Error.
I checked with glsnoop, and we find that gl4es create 3 test shaders, for 120, 300es and 310es. And first one fail:
And fail because #version should be 300 or 310 es due to uniform location. And because of that we do have GL_ERROR, and test case fail with error.
Now question is : should't be shader for 120 be one which works on 120, or not ?
Thanks!