- September 27, 2008 at 3:07 am #29601Hello,I downloaded the SDK Linux PC emulation and have encoutered the following problem: I copied one of the examples (08_AlphaBlend) that came with the SDK ( renamed it to 08_AlphaBlend (copy) )and replaced one of the bitmaps (backgrnd.bmp) with a png file. However, I get the â€œUnsupported input file formatâ€ error message when I try to build 08_AlphaBlend (copy). I also modified the content.mak file where backgrnd.bmp is mentioned and replaced it with my png file name. See below for details. I have no problems when I build the original 08_AlphaBlend.
The error message is:
../../../Utilities/PVRTexTool/PVRTexToolCL/Linux/PVRTexTool -nt -m -fOGL8888 -i../Media/backgrnd.png -oBackground.pvr
Unsupported input file format.
Does anyone know if the options used in this command cause the problem?September 29, 2008 at 3:21 pm #32325
I was able to resolve the “Unsupported input file format” issue: I opened the .png file and save it as a .bmp using an image editing software. I was able to build the application successfully and got the executable. However, when I try to run the excecutable I get the “ERROR: Cannot load the texture“ error:
-sh-2.05b# ./OGLESAlphaBlend < ?: prefix = o ns = "urn:schemas-microsoft-com:office:office" />
PVRShell: EGL 1.2 initialized
PVRTTextureLoadPartialFromPointer failed: glBindTexture() failed.
Exit message has been set to: “ERROR: Cannot load the texture“.
ERROR: Cannot load the texturePlease help!September 29, 2008 at 5:43 pm #32326
The version of PVRTexToolCL that you are using is incapable of loading png files on Linux. This has been fixed in the new Linux version (3.7) which is available on the website as of today. I would recommend that you download the latest version of the OpenGL ES Linux PC Emulation SDK which will have PVRTexTool 3.7, new source code for AlphaBlend and new PC emulation libraries. It’s possible that encoding a texture with the new tool and incorporating it into the new example code may fix your problem. I’d advise that you try this first.
Have you run the AlphaBlend example successfully with the default textures? Replacing these as you have done seems reasonable and like it should work to me (I’ve done the same very recently for a test project). The error message indicates that the pvr file has ben successfully opened and parsed, but that something is failing when passing data to OpenGL in the PVRTTextureAPI.cpp file in the PVR OGLES tools. If you search for the error string “PVRTTextureLoadPartialFromPointer failed: glBindTexture() failed.” you should find where the loading code actually breaks. Can you confirm that this is when loading your own texture and not during initialisation of another one? Also, is it definitely the call to glBindTexture that is failing? You can determine this by checking the state of glError before the glBindTexture() line in the PVRTTextureLoadFromPointer() function.
Hope this helps,
GSeptember 30, 2008 at 2:21 pm #32327
Thank you for your prompt response. I was able to resolve this issue. The problem was that my bitmap (480×480) was not a square power of two. I resolved this by opening my bitmap in an image editing software (Gimp), and resizing the bitmap to be a square and a power of two (i.e. 512×512, 256×256).