# MEIZU PRO 7PULS PowerVR 7XTP shder compile failed no error

**URL:** <https://forums.imgtec.com/t/meizu-pro-7puls-powervr-7xtp-shder-compile-failed-no-error/3307>\
**Category:** Uncategorized\
**Created:** [November 16, 2020, 3:55am UTC](https://forums.imgtec.com/t/meizu-pro-7puls-powervr-7xtp-shder-compile-failed-no-error/3307 "2020-11-16T03:55:42Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![chen](https://avatars.discourse-cdn.com/v4/letter/c/3d9bf3/32.png) [@chen](https://forums.imgtec.com/u/chen)\
**Post date:** [November 16, 2020, 3:55am UTC](https://forums.imgtec.com/t/meizu-pro-7puls-powervr-7xtp-shder-compile-failed-no-error/3307/1 "2020-11-16T03:55:42Z")

</div>

Hi, Shader compilation problem on PowerVR only，Failed to compile shader with no detail errors info on  
MEIZU PRO 7PULS PowerVR 7XTP

```
#version 310 es

```

#define UE\_EXT\_shader\_framebuffer\_fetch 1

#define INTERFACE\_LOCATION(Pos) layout(location=Pos)  
#define INTERFACE\_BLOCK(Pos, Interp, Modifiers, Semantic, PreType, PostType) layout(location=Pos) Modifiers Semantic { PreType PostType; }  
#define HLSLCC\_DX11ClipSpace 1

// end extensions  
precision mediump float;  
precision highp int;

void compiler\_internal\_AdjustInputSemantic(inout vec4 TempVariable)  
{  
#if HLSLCC\_DX11ClipSpace  
TempVariable.y = -TempVariable.y;  
TempVariable.z = ( TempVariable.z + TempVariable.w ) / 2.0;  
#endif  
}

void compiler\_internal\_AdjustOutputSemantic(inout vec4 Src)  
{  
#if HLSLCC\_DX11ClipSpace  
Src.y = -Src.y;  
Src.z = ( 2.0 \* Src.z ) - Src.w;  
#endif  
}

bool compiler\_internal\_AdjustIsFrontFacing(bool isFrontFacing)  
{  
#if HLSLCC\_DX11ClipSpace  
return !isFrontFacing;  
#else  
return isFrontFacing;  
#endif  
}  
uniform vec4 pc0\_m[5];  
uniform vec4 pu\_m[2];  
uniform highp sampler2D ps0;  
uniform highp sampler2D ps1;  
INTERFACE\_LOCATION(0) in vec4 in\_COLOR0;  
INTERFACE\_LOCATION(3) in highp vec4 in\_TEXCOORD1;  
INTERFACE\_LOCATION(0) out vec4 out\_Target0;  
void main()  
{  
vec4 v0;  
highp vec2 v1;  
v1.xy = (in\_TEXCOORD1.xy_in\_TEXCOORD1.zw);  
vec2 v2;  
highp float f3;  
f3 = pc0\_m[2].x;  
float h4;  
h4 = (v1.x_f3);  
v2.x = (h4+pc0\_m[2].y);  
highp float f5;  
f5 = pc0\_m[2].z;  
float h6;  
h6 = (v1.y_f5);  
v2.y = (h6+pc0\_m[2].w);  
vec4 v7;  
highp vec2 v8;  
v8.xy = v2;  
v7.xyzw = texture(ps1,v8);  
vec2 v9;  
highp vec2 v10;  
v10.xy = vec2(5.000000e-01,5.000000e-01);  
vec2 v11;  
v11.xy = ((v10_vec2(-1.000000e+00,-1.000000e+00))+v1);  
v9.xy = v11;  
vec2 v12;  
v12.x = dot(v9,vec2(-4.371139e-08,-1.000000e+00));  
v12.y = dot(v9,vec2(1.000000e+00,-4.371139e-08));  
vec2 v13;  
v13.xy = (v12_vec2(2.000000e+00,-2.000000e+00));  
float h14;  
h14 = floor((pc0\_m[3].x+fract((atan(v13.y,v13.x)/6.283185e+00))));  
vec2 v15;  
highp float f16;  
f16 = pc0\_m[3].y;  
float h17;  
h17 = (v1.x_f16);  
v15.x = (h17+pc0\_m[3].z);  
highp float f18;  
f18 = pc0\_m[3].w;  
float h19;  
h19 = (v1.y_f18);  
v15.y = (h19+pc0\_m[4].x);  
vec4 v20;  
highp vec2 v21;  
v21.xy = v15;  
v20.xyzw = texture(ps0,v21);  
float h22;  
h22 = (1.000000e+00+(-h14));  
vec4 v23;  
v23.xyz = max((((pc0\_m[0].xyz_v7.xyz)_vec3(h14))+((pc0\_m[1].xyz_v20.xyz)_vec3(h22))),vec3(0.000000e+00,0.000000e+00,0.000000e+00));  
v23.w = clamp(((((pc0\_m[4].y_v7.w)_h14)+((pc0\_m[4].z_v20.w)\*h22))_pc0\_m[4].w),0.000000e+00,1.000000e+00);  
vec4 v24;  
v24.xyzw = (v23_in\_COLOR0);  
v0.xyzw = v24;  
if ((pu\_m[1].x!=0.000000e+00))  
{  
float h25;  
h25 = dot(vec3(3.000000e-01,5.900000e-01,1.100000e-01),v24.xyz);  
highp vec3 v26;  
highp float f27;  
f27 = h25;  
v26.x = f27;  
highp float f28;  
f28 = h25;  
v26.y = f28;  
highp float f29;  
f29 = h25;  
v26.z = f29;  
highp vec3 v30;  
v30.xyz = v24.xyz;  
vec3 v31;  
v31.xyz = mix(v30,v26,vec3(8.000000e-01,8.000000e-01,8.000000e-01));  
v0.xyz = v31;  
float h32;  
h32 = distance(v0.xyz,vec3(1.000000e-01,1.000000e-01,1.000000e-01));  
v0.xyz = mix(v0.xyz,vec3(1.000000e-01,1.000000e-01,1.000000e-01),vec3(clamp(h32,0.000000e+00,8.000000e-01)));  
}  
vec4 v33;  
v33.xyzw = v0;  
if ((pu\_m[0].w!=1.000000e+00))  
{  
highp vec3 v34;  
v34.xyz = v0.xyz;  
highp float f35;  
f35 = pu\_m[0].w;  
vec3 v36;  
v36.xyz = clamp((((v34+vec3(-2.500000e-01,-2.500000e-01,-2.500000e-01))_vec3(f35))+vec3(2.500000e-01,2.500000e-01,2.500000e-01)),vec3(0.000000e+00,0.000000e+00,0.000000e+00),vec3(1.000000e+00,1.000000e+00,1.000000e+00));  
v33.xyz = v36;  
}  
v0.xyzw = v33;  
vec3 v37;  
v37.xyz = v33.xyz;  
vec3 v38;  
v38.xyz = v33.xyz;  
if ((pu\_m[0].y!=1.000000e+00))  
{  
vec3 v39;  
v39.xyz = max(vec3(6.103520e-05,6.103520e-05,6.103520e-05),pow(v37,pu\_m[0].xxx));  
v38.xyz = min((v39_vec3(1.292000e+01,1.292000e+01,1.292000e+01)),((pow(max(v39,vec3(3.130670e-03,3.130670e-03,3.130670e-03)),vec3(4.166667e-01,4.166667e-01,4.166667e-01))\*vec3(1.055000e+00,1.055000e+00,1.055000e+00))+vec3(-5.500000e-02,-5.500000e-02,-5.500000e-02)));  
}  
v0.xyz = v38;  
out\_Target0.xyzw = v0;  
}

Needs your help!

Thanks

Regards
