- June 12, 2010 at 5:35 am #30177
Hello everyone (first post yay),
I’ve been trying to port a certain open source rendering engine to a PowerVR SGX 530 GPU found in the Nokia N900 as a test unit, but I’ve found that it has been failing to compile the vertex shader code I give it.
I dumped the failed shader code to a text file and removed all the #ifdefs out of it just for the sake of debugging and clarity, but I seem to not be able to find what is wrong with the code, I even added highp/mediump/lowp where appropriate but it still doesn’t like that (and I think the declaration is only mandatory in fragment shaders right?)
PVRUnitSCoEditor is handy for just testing the dumps to see if it is the driver, but it pretty much says the same thing “Compile Failed.” with no verbosity so I am stuck right now to see what is wrong with it.
It also fails on regular OpenGL GLSL with the PVR tools, afaik this is the same code generated on the desktop for nvidia & ati video chips which they compile fine. Also I removed the #ifdefs just to see if it was ignoring them but it still fails without verbosity (also I am aware of the uniform/attribute/varying limits of the device, so I think once hardware skinning compiles I’ll need to drop down the joint count).
I am using v1.3 of the tool from SDK 2.04.24.0759 & on the N900 side it is whatever ships with PR1.2 for the driver.
Thanks all!June 13, 2010 at 3:46 pm #34016
Found some workarounds, for some reason the compiler doesn’t like lengthy functions which are outside the main function, so I’ve decided to just put those guys into the main function and then remove them from above and that seemed to work fine, odd.
Now I just need to work out how to display something on the screen, but that’s SDL_gles to deal with now!
Thanks guys, hope my problem helps anyone who is scratching their head on their own GLSL code.
MistaED 2010-06-13 15:47:34