Hi, I am having multiple issues with my project since upgrading from 4.214.
Firstly when upgrading to 4.310 I got a crash when running both X86 configurations in IwGxInit().
Pretty much exactly the same as the crashes seen in these posts:
https://www.airplaysdk.com/node/4204|
https://www.airplaysdk.com/node/3280
https://www.airplaysdk.com/node/358
I have attached the trace for this crash to this post.
One solution I found was to replace the opengl dlls in s32/win32 with those in the qualcomm directory in the same path. This prevents the crash, but I get this assert when I load my resources:
IwAssert failure (GX, 1181).
Message: Cannot upload texture: compressed format 'PVRTC' is not supported by your graphics hardware. Compressed textures will appear as white checkerboards
... and a lot of my texures end up looking like white checkerboards. I am pretty sure my graphics card supports PVRTC too.
After much searching, the only solution I came across was the one in these posts:
https://www.airplaysdk.com/node/2551
https://www.airplaysdk.com/node/2290
If I take the opengl dlls from s3e/win32 in the 4.214 SDK directory and replace the equivalents in SDK 4.310. The app no longer crashed but I got an annoying assert to do with an invalid gl enum when in IwGXInit, even though there appeared to be no ill effects.
I have since upgraded to 4.45 and the problem is much worse. As well as having to replace the dlls in the latest SDK with those in 4.214 (surely not a long term solution!) I now get many more asserts in my app which are causing me a lot of unnecesary hassle, as they appear to be harmless. The asserts are as follows:
2 Asserts now when initialising IwGXInit:
-----------------------
Channel: IW_GL
File: IwGL.cpp
Line: 318
Expression: err == 0
Message: GL Error GL_INVALID_ENUM in function glGetBooleanv(GL_SHADER_COMPILER, 0x6500cd7)
-----------------------
IwAssert failure:
Channel: GX
File: IwGxError.cpp
Line: 71
Expression: false
Message: OpenGL ES error: GL_INVALID_ENUM (g:\p4\sdk\4.4\modules\iwgx\source\GL\IwGxRasterisationGL.cpp (594))
-----------------------
Then I get the following assert twice (but with a different uniform var address) when rendering entities in my UI that previously worked fine:
IwAssert failure:
Channel: IW_GL
File: IwGL.cpp
Line: 318
Expression: err == 0
Message: GL Error GL_INVALID_ENUM in function glUniformMatrix4fv(1, 1, 0, 0x64fe600)
-----------------------
Everything appears to be functioning fine though.
My questions are:
1) Will there be a fix for the IwGXInit crash? Or must I copy and paste the dlls from the older SDK every time I upgrade?
2) Is there something I can do to turn off these annoying (and seemingly harmless) asserts in the meantime? I would rather not turn off all asserts because somtimes my code isn't perfect :-)
I have an Nvidia GeForce 7950 GT graphics card and my drivers are up to date. I am running Windows XP Professional.
Thanks,
Shane












When you copy the drivers from 4.2, you're copying some 3 year old IMG drivers that happen to have better compatibility with your particular gfx card. Unfortunately, since it's not our software, there's not a lot we can do about the loss of compatibility in more recent versions...
The extra problems you're seeing in 4.4 are caused by improved error reporting... the driver is raising these errors, but previously we weren't checking as thoroughly...
If you have chrome installed, you can try the gles driver included there... but be warned it only supports DXT textures...