# Possible bug in Android PVR SDK ?

**URL:** <https://forums.imgtec.com/t/possible-bug-in-android-pvr-sdk/1408>\
**Category:** PowerVR Insider\
**Created:** [May 7, 2012, 12:22pm UTC](https://forums.imgtec.com/t/possible-bug-in-android-pvr-sdk/1408 "2012-05-07T12:22:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkandula](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.imgtec.com/mkandula/32/123_2.png) [@mkandula](https://forums.imgtec.com/u/mkandula)\
**Post date:** [May 7, 2012, 12:22pm UTC](https://forums.imgtec.com/t/possible-bug-in-android-pvr-sdk/1408/1 "2012-05-07T12:22:52Z")

</div>

This is the basic pfx shader code which works just fine in my windows emulator and also on iPhone device.  
  
  
  
On PVR Android, I am getting a error message  
  
"TEXTURE basetex missing matching UNIFORM in [EFFECT] on line 54"  
  
  
  
Can someone tell me what this problem is ????  
  
  
  
  
  
  
  
[HEADER]  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VERSION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;01.00.00.00  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DESCRIPTION texture example  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COPYRIGHT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VirtualMaze Avighna  
  
[/HEADER]  
  
  
  
[TEXTURES]  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE basetex &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Basetex.pvr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LINEAR-LINEAR-LINEAR  
  
[/TEXTURES]  
  
  
  
[VERTEXSHADER]  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NAME &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VertexShader  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// LOAD GLSL AS CODE  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[GLSL\_CODE]  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attribute highp vec3 inVertex;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attribute highp vec3 inNormal;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attribute highp vec2 inTexCoord;  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uniform highp&nbsp;&nbsp;&nbsp;mat4 WVPMatrix;  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;varying mediump vec2&nbsp;&nbsp;&nbsp;TexCoord;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;varying highp vec3 PosTexC;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void main()  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gl\_Position = WVPMatrix \* vec4(inVertex + inNormal\*0.0001,1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TexCoord = inTexCoord;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PosTexC = inVertex;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[/GLSL\_CODE]  
  
[/VERTEXSHADER]  
  
&nbsp;&nbsp;&nbsp;&nbsp;  
  
[FRAGMENTSHADER]  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NAME &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FragmentShader  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// LOAD GLSL AS CODE  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[GLSL\_CODE]  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uniform sampler2D sBaseTex;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//uniform samplerCube sBaseTex;  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;varying mediump vec2&nbsp;&nbsp;&nbsp;TexCoord;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;varying highp vec3 PosTexC;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void main()  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gl\_FragColor.rgba = texture2D(sBaseTex, TexCoord).rgba;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//gl\_FragColor.rgb = textureCube(sBaseTex, PosTexC).rgb;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[/GLSL\_CODE]  
  
[/FRAGMENTSHADER]  
  
  
  
[EFFECT]  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NAME &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Effect  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// GLOBALS UNIFORMS  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UNIFORM WVPMatrix &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WORLDVIEWPROJECTION  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UNIFORM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sBaseTex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FTEX\_IDX0  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// ATTRIBUTES  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ATTRIBUTE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inVertex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;POSITION  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ATTRIBUTE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inNormal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NORMAL  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ATTRIBUTE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inTexCoord&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UV  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VERTEXSHADER&nbsp;&nbsp;&nbsp;VertexShader  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FRAGMENTSHADER FragmentShader  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TEXTURE 0 basetex  
  
[/EFFECT]

---

<div class="post-metadata">

**Author:** ![arron](https://avatars.discourse-cdn.com/v4/letter/a/87869e/32.png) [@arron](https://forums.imgtec.com/u/arron)\
**Post date:** [May 8, 2012, 10:03am UTC](https://forums.imgtec.com/t/possible-bug-in-android-pvr-sdk/1408/2 "2012-05-08T10:03:26Z")

</div>

Hi mkandula.  
  
  
  
  
  
In the latest SDK PFX semantics have been moved to tools code, so the semantic TEXTURE[0-n] should be used instead of your own FTEX\_IDX0 as PFX doesn’t know what this semantic is, hence the error.  
  
  
  
  
  
To correct your error change to the following code:

Code:

  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// GLOBALS UNIFORMS   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UNIFORM WVPMatrix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WORLDVIEWPROJECTION   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UNIFORM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sBaseTex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TEXTURE0

---

<div class="post-metadata">

**Author:** ![mkandula](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.imgtec.com/mkandula/32/123_2.png) [@mkandula](https://forums.imgtec.com/u/mkandula)\
**Post date:** [May 8, 2012, 10:50am UTC](https://forums.imgtec.com/t/possible-bug-in-android-pvr-sdk/1408/3 "2012-05-08T10:50:45Z")

</div>

Yes…I just got that figured out an hour ago…also I was using the older SDK for windows EMULATOR. With the newer SDK the bug is reproduced on the windows EMULATOR as well.  
  
  
  
  
  
Thanks for the reply !!
