| Message |
# of games |
Rows |
Hits |
Latest Report |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F93ECA8(125,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F93ECA8(125,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_ |
1 |
1 |
36 |
2021-05-17 |
| D3D error in shader compilation: info: C:\Users\pc\Downloads\PPSSPP\PPSSPP\Shader@0x000001D9A5503010(137,16-55): error X4505: maximum temp register index exceeded
C:\Users\pc\Downloads\PPSSPP\PPSSPP\Shader@0x000001D9A5503010(137,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, dis |
1 |
1 |
36 |
2021-04-20 |
| D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0C7F55F0(108,16-57): error X4505: maximum temp register index exceeded
C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0C7F55F0(108,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u |
1 |
1 |
35 |
2020-10-11 |
| D3D error in shader compilation: info: C:\Users\ryuha\Downloads\ppsspp_win\Shader@0x000002194997A060(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[ind |
1 |
1 |
35 |
2020-09-20 |
| D3D error in shader compilation: info: C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000796CD70(122,16-57): error X4505: maximum temp register index exceeded
C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000796CD70(122,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse |
1 |
1 |
34 |
2023-11-21 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F0EC080(135,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F0EC080(135,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length |
1 |
1 |
33 |
2020-04-26 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F0E2528(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F0E2528(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
1 |
1 |
32 |
2024-07-20 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C1FB8E8(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C1FB8E8(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
1 |
1 |
32 |
2024-07-19 |
| D3D error in shader compilation: info: C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x110E5D50(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x110E5D50(122,12-71): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x110E5D50(144,16-57): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x110E5D50(144,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle |
1 |
1 |
32 |
2023-02-23 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F0F4D50(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F0F4D50(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
1 |
1 |
31 |
2024-07-22 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0EED9208(135,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0EED9208(135,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length |
1 |
1 |
31 |
2020-04-24 |
| D3D error in shader compilation: info: (91): error X4004: program too complex; there are more active values than registers
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * In.color0 + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * In.color0.rgb) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient0 * In.color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * In.color0.rgb) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient1 * In.color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * In.color0.rgb) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient2 * In.color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt3, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * In.color0.rgb) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnorma |
1 |
1 |
30 |
2020-04-11 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x1271E8F8(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x1271E8F8(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
1 |
1 |
29 |
2024-07-22 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x08950D80(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x08950D80(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
1 |
1 |
29 |
2024-07-22 |
| D3D error in shader compilation: info: C:\Games\PPSSPP\Shader@0x0000025538E3ACE0(137,16-55): error X4505: maximum temp register index exceeded
C:\Games\PPSSPP\Shader@0x0000025538E3ACE0(137,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat2 float2x2
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_depthRange : register(c52);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCo |
1 |
1 |
28 |
2022-12-03 |
| D3D error in shader compilation: info: C:\Users\FAMILIA DUARTE\Desktop\Shader@0x000000000C52EEA0(109,16-57): error X4505: maximum temp register index exceeded
C:\Users\FAMILIA DUARTE\Desktop\Shader@0x000000000C52EEA0(109,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
li |
2 |
2 |
25 |
2020-09-12 |
| D3D error in shader compilation: info: C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(158,27): error X5615: Compiled shader code uses too many instruction slots (257). Max. allowed by the target (vs_2_0) is 256.
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * In.color0 + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * In.color0.rgb) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * In.color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * In.color0.rgb) * max(ldot, 0.0);
if (ldot >= 0. |
1 |
1 |
24 |
2023-02-23 |
| D3D error in shader compilation: info: D:\ppsspp_win (2)\Shader@0x0000026EB9ED67F0(77,16-55): error X4505: maximum temp register index exceeded
D:\ppsspp_win (2)\Shader@0x0000026EB9ED67F0(77,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
Out.v_color0 = clamp(lightSum0, 0.0, 1.0);
Out.v_color1 = clamp(lightSum1, 0.0, 1.0);
Out.v_tex |
1 |
1 |
24 |
2022-03-17 |
| D3D error in shader compilation: info: C:\Users\username\Documents\Emulators\Shader@0x0000028241AE10E0(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
_tex[5] = tess_data[index].tex;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data |
1 |
1 |
24 |
2021-08-16 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000253CF17D060(108,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x00000253CF17D060(108,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, |
2 |
2 |
24 |
2021-03-21 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000231A36FF920(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
i |
1 |
1 |
24 |
2020-12-30 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000000BAF0080(137,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x000000000BAF0080(137,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance |
1 |
1 |
23 |
2021-07-22 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000002A97CFB090(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
i |
1 |
1 |
23 |
2020-09-17 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000028031F4B150(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
i |
1 |
1 |
22 |
2020-12-30 |
| D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0EB72D10(108,16-57): error X4505: maximum temp register index exceeded
C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0EB72D10(108,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u |
2 |
2 |
22 |
2020-10-16 |
| D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FD6AF68(126,16-57): error X4505: maximum temp register index exceeded
C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FD6AF68(126,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef2.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef2.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffus |
1 |
1 |
22 |
2020-10-13 |
| D3D error in shader compilation: info: internal error: compilation aborted unexpectedly
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * In.color0 + float4(u_matemissive, 0.0);
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * In.color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * In.color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * In.color0.rgb + diffuse) * lightScale;
Out.v_color0 = clamp(lightSum0, 0.0, 1.0);
Out.v_color1 = float3(0, 0, 0);
Out.v_texcoord = float3(In.texcoord.xy * u_uvscaleoffset.xy, 0.0);
Out.v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
float3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.w = u_cullRangeMax.w;
}
}
Out.gl_Position = outPos;
return Out;
}
|
1 |
1 |
21 |
2019-11-19 |
| D3D error in shader compilation: info: C:\Program Files (x86)\5funGameHall\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: Possible intrinsic functions are:
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(float, float)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(float, floatK)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(float, floatLxK)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatM, float)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatM, floatM)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatM, floatMxK)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatNxM, float)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatM)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatMxK)
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
struct VS_IN {
float4 position : POSITION;
float4 color0 : COLOR0;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
Out.v_color0 = In.color0;
Out.gl_Position = mul(float4(In.position.xyz, 1.0), u_proj_through);
return Out;
}
|
4 |
4 |
20 |
2026-03-19 |
| D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0ECD1930(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0ECD1930(122,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ld |
1 |
1 |
20 |
2022-04-09 |
| D3D error in shader compilation: info: C:\Users\animax\Downloads\Shader@0x0FC7DFF0(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
_tex[5] = tess_data[index].tex;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
_tex[ |
1 |
1 |
20 |
2021-03-25 |
| D3D error in shader compilation: info: D:\PSP\Shader@0x0000000042B23270(93,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[9] |
1 |
1 |
20 |
2020-09-18 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0A2E4E70(133,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0A2E4E70(133,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight) |
1 |
1 |
20 |
2020-04-24 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0BCA8C00(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
index = ( |
1 |
1 |
18 |
2021-02-14 |
| D3D error in shader compilation: info: C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x000001C2DAE5D640(133,16-57): error X4505: maximum temp register index exceeded
C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x000001C2DAE5D640(133,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0. |
1 |
1 |
17 |
2019-12-13 |
| D3D error in shader compilation: info: D:\??\5funGameHall\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
D:\??\5funGameHall\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
D:\??\5funGameHall\memory(14,21): error X3013: Possible intrinsic functions are:
D:\??\5funGameHall\memory(14,21): error X3013: mul(float, float)
D:\??\5funGameHall\memory(14,21): error X3013: mul(float, floatK)
D:\??\5funGameHall\memory(14,21): error X3013: mul(float, floatLxK)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatM, float)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatM, floatM)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatM, floatMxK)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatNxM, float)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatM)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatMxK)
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
struct VS_IN {
float4 position : POSITION;
float4 color0 : COLOR0;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
Out.v_color0 = In.color0;
Out.gl_Position = mul(float4(In.position.xyz, 1.0), u_proj_through);
return Out;
}
|
4 |
4 |
16 |
2026-07-16 |
| D3D error in shader compilation: info: E:\ppsspp\Shader@0x0000000007626EC0(88,40-48): error X3018: invalid subscript 'normal'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
_tex[5] = tess_da |
1 |
1 |
16 |
2022-06-05 |
| D3D error in shader compilation: info: D:\ppsspp_win (2)\Shader@0x0000026EB9ED67F0(100,16-55): error X4505: maximum temp register index exceeded
D:\ppsspp_win (2)\Shader@0x0000026EB9ED67F0(100,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), t |
1 |
1 |
16 |
2022-03-17 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000175324DCF10(97,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
inde |
1 |
1 |
16 |
2020-12-24 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000000008CC94A0(110,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0000000008CC94A0(110,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef |
1 |
1 |
16 |
2020-11-27 |
| D3D error in shader compilation: info: internal error: compilation aborted unexpectedly
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float4 position : POSITION;
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float4 color1 : COLOR1;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
Out.v_texcoord = float3(In.texcoord, 1.0);
Out.v_color0 = In.color0;
Out.v_color1 = In.color1.rgb;
Out.v_fogdepth = In.position.w;
float4 outPos = mul(float4(In.position.xyz, 1.0), u_proj);
float3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.w = u_cullRangeMax.w;
}
}
Out.gl_Position = outPos;
return Out;
}
|
1 |
1 |
16 |
2019-11-19 |
| D3D error in shader compilation: info: C:\Users\FAMILIA DUARTE\Desktop\Shader@0x000000000DF6F000(79,16-57): error X4505: maximum temp register index exceeded
C:\Users\FAMILIA DUARTE\Desktop\Shader@0x000000000DF6F000(79,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef2.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef2.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal) |
1 |
1 |
15 |
2020-09-27 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F58BEA8(133,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F58BEA8(133,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight) |
1 |
1 |
15 |
2020-04-26 |
| D3D error in shader compilation: info: D:\ppsspp_win (2)\Shader@0x0000026EB9ED67F0(152,16-55): error X4505: maximum temp register index exceeded
D:\ppsspp_win (2)\Shader@0x0000026EB9ED67F0(152,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec4 color0 : COLOR0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec4 color0 = In.color0;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
l |
1 |
1 |
14 |
2022-03-17 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x137FF040(121,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x137FF040(121,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecu |
1 |
1 |
14 |
2021-03-14 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000000008B49120(110,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0000000008B49120(110,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef |
1 |
1 |
14 |
2020-11-27 |
| D3D error in shader compilation: info: G:\Program Files (x86)\PPSSPP\Shader@0x19814098(91,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[9] = tess_data[index].pos;
index = (2 + point_pos.y |
1 |
1 |
14 |
2020-11-22 |
| D3D error in shader compilation: info: D:\psp\memory(103,10): error X4505: maximum temp register index exceeded
D:\psp\memory(103,10): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef2.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef2.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLigh |
1 |
1 |
14 |
2019-07-05 |
| D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x12A98D10(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x) |
1 |
1 |
13 |
2022-08-19 |
| D3D error in shader compilation: info: E:\baidu download\5funGameHall\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
E:\baidu download\5funGameHall\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
E:\baidu download\5funGameHall\memory(14,21): error X3013: Possible intrinsic functions are:
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(float, float)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(float, floatK)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(float, floatLxK)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatM, float)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatM, floatM)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatM, floatMxK)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatNxM, float)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatM)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatMxK)
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
struct VS_IN {
float4 position : POSITION;
float4 color0 : COLOR0;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
Out.v_color0 = In.color0;
Out.gl_Position = mul(float4(In.position.xyz, 1.0), u_proj_through);
return Out;
}
|
1 |
1 |
13 |
2022-08-16 |
| D3D error in shader compilation: info: C:\Users\username\Documents\Emulators\Shader@0x000001C4E64BF070(97,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
_tex[5] = tess_data[index].tex;
index = (1 + point_po |
1 |
1 |
13 |
2021-08-14 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000153BF5448E0(100,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x00000153BF5448E0(100,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_l |
1 |
1 |
12 |
2023-11-07 |
| D3D error in shader compilation: info: E:\PSP\Shader@0x000001F9008B0080(98,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
float3 nrm;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = |
1 |
1 |
12 |
2022-05-17 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000175F0A36080(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_p |
2 |
2 |
12 |
2022-05-15 |
| D3D error in shader compilation: info: C:\Users\FAMILIA DUARTE\Desktop\Shader@0x000000000DF6F000(75,16-57): error X4505: maximum temp register index exceeded
C:\Users\FAMILIA DUARTE\Desktop\Shader@0x000000000DF6F000(75,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef2.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef2.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSu |
2 |
2 |
11 |
2020-09-27 |
| D3D error in shader compilation: info: D:\PSP\Shader@0x0000000042B23270(105,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
float3 nrm;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 |
1 |
1 |
11 |
2020-09-18 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0E508BC8(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
index = ( |
1 |
1 |
10 |
2021-02-12 |
| D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FD6AF68(75,16-57): error X4505: maximum temp register index exceeded
C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FD6AF68(75,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef2.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef2.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
|
1 |
1 |
10 |
2020-10-13 |
| D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0F86B518(110,16-57): error X4505: maximum temp register index exceeded
C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0F86B518(110,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle |
1 |
1 |
9 |
2020-10-19 |
| D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0D3B8FA0(108,16-57): error X4505: maximum temp register index exceeded
C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0D3B8FA0(108,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u |
1 |
1 |
9 |
2020-10-13 |
| D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x114D0CE0(108,16-57): error X4505: maximum temp register index exceeded
C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x114D0CE0(108,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u |
1 |
1 |
9 |
2020-10-11 |
| D3D error in shader compilation: info: C:\Users\migue\OneDrive\Desktop\PPSSPP\Shader@0x15465D60(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x |
1 |
1 |
9 |
2020-07-27 |
| D3D error in shader compilation: info: C:\Users\Personal\Downloads\ppsspp_win\Shader@0x0000013D5CCE5E60(121,16-57): error X4505: maximum temp register index exceeded
C:\Users\Personal\Downloads\ppsspp_win\Shader@0x0000013D5CCE5E60(121,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
i |
1 |
1 |
9 |
2020-04-21 |
| D3D error in shader compilation: info: E:\PSP\ppsspp_bin\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
E:\PSP\ppsspp_bin\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
E:\PSP\ppsspp_bin\memory(14,21): error X3013: Possible intrinsic functions are:
E:\PSP\ppsspp_bin\memory(14,21): error X3013: mul(float, float)
E:\PSP\ppsspp_bin\memory(14,21): error X3013: mul(float, floatK)
E:\PSP\ppsspp_bin\memory(14,21): error X3013: mul(float, floatLxK)
E:\PSP\ppsspp_bin\memory(14,21): error X3013: mul(floatM, float)
E:\PSP\ppsspp_bin\memory(14,21): error X3013: mul(floatM, floatM)
E:\PSP\ppsspp_bin\memory(14,21): error X3013: mul(floatM, floatMxK)
E:\PSP\ppsspp_bin\memory(14,21): error X3013: mul(floatNxM, float)
E:\PSP\ppsspp_bin\memory(14,21): error X3013: mul(floatNxM, floatM)
E:\PSP\ppsspp_bin\memory(14,21): error X3013: mul(floatNxM, floatMxK)
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
struct VS_IN {
float4 position : POSITION;
float4 color0 : COLOR0;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
Out.v_color0 = In.color0;
Out.gl_Position = mul(float4(In.position.xyz, 1.0), u_proj_through);
return Out;
}
|
2 |
2 |
9 |
2019-07-14 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000000008B98940(110,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0000000008B98940(110,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef |
1 |
1 |
8 |
2020-11-27 |
| D3D error in shader compilation: info: D:\Downloads\yon regue\EA SPORTS\ppsspp-1-4-2\PPSSPP\Shader@0x0531CF38(121,16-57): error X4505: maximum temp register index exceeded
D:\Downloads\yon regue\EA SPORTS\ppsspp-1-4-2\PPSSPP\Shader@0x0531CF38(121,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a); |
1 |
1 |
8 |
2020-02-20 |
| D3D error in shader compilation: info: (94): error X4004: program too complex; there are more active values than registers
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
angle = dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef0.y);
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance |
1 |
1 |
8 |
2019-02-03 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x09C91E70(121,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x09C91E70(121,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecu |
1 |
1 |
7 |
2021-04-15 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001E5D3F9F1F0(113,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightpos1 : register(c25);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightpos2 : register(c26);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float4 u_ambient : register(c19);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
float3 nrm;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[ |
1 |
1 |
7 |
2021-02-08 |
| D3D error in shader compilation: info: C:\liverpool\need for speed (sharief)\New folder\ppsspp\Shader@0x1372C058(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = t |
1 |
1 |
7 |
2020-12-11 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C233950(142,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C233950(142,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u |
1 |
1 |
6 |
2024-07-20 |
| D3D error in shader compilation: info: D:\360????????????\ppsspp\Shader@0x1170D978(102,16-55): error X4505: maximum temp register index exceeded
D:\360????????????\ppsspp\Shader@0x1170D978(102,12-69): error X4505: maximum temp register index exceeded
D:\360????????????\ppsspp\Shader@0x1170D978(146,16-55): error X4505: maximum temp register index exceeded
D:\360????????????\ppsspp\Shader@0x1170D978(146,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat2 float2x2
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_depthRange : register(c52);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
} |
1 |
1 |
6 |
2022-10-21 |
| D3D error in shader compilation: info: D:\ppsspp_win (2)\Shader@0x0000026EB9ED67F0(150,16-55): error X4505: maximum temp register index exceeded
D:\ppsspp_win (2)\Shader@0x0000026EB9ED67F0(150,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec4 color0 : COLOR0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec4 color0 = In.color0;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal |
1 |
1 |
6 |
2022-03-17 |
| D3D error in shader compilation: info: F:\BACK UP (2021)\eby15\Desktop\PSP EMULATOR\ppsspp_win\PSP\Shader@0x0000022880737950(120,16-55): error X4505: maximum temp register index exceeded
F:\BACK UP (2021)\eby15\Desktop\PSP EMULATOR\ppsspp_win\PSP\Shader@0x0000022880737950(120,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec4 color0 : COLOR0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec4 color0 = In.color0;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length( |
1 |
1 |
6 |
2021-04-01 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F20CCB8(90,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F20CCB8(90,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef2.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef2.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
|
2 |
2 |
6 |
2021-03-31 |
| D3D error in shader compilation: info: C:\Users\King Saad\Downloads\ppsspp_win\Shader@0x16E84D38(110,16-57): error X4505: maximum temp register index exceeded
C:\Users\King Saad\Downloads\ppsspp_win\Shader@0x16E84D38(110,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lig |
1 |
1 |
6 |
2021-03-12 |
| D3D error in shader compilation: info: C:\Users\King Saad\Downloads\ppsspp_win\Shader@0x16FA4F20(108,16-57): error X4505: maximum temp register index exceeded
C:\Users\King Saad\Downloads\ppsspp_win\Shader@0x16FA4F20(108,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightat |
1 |
1 |
6 |
2021-03-12 |
| D3D error in shader compilation: info: D:\Downloads\yon regue\EA SPORTS\ppsspp-1-4-2\PPSSPP\Shader@0x05569548(121,16-57): error X4505: maximum temp register index exceeded
D:\Downloads\yon regue\EA SPORTS\ppsspp-1-4-2\PPSSPP\Shader@0x05569548(121,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a); |
1 |
1 |
6 |
2020-02-20 |
| D3D error in shader compilation: info: D:\ppsspp_win (2)\Shader@0x0000022A6A799240(100,16-55): error X4505: maximum temp register index exceeded
D:\ppsspp_win (2)\Shader@0x0000022A6A799240(100,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), t |
1 |
1 |
5 |
2022-03-16 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0B3E2AF0(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
index = ( |
1 |
1 |
5 |
2021-02-13 |
| D3D error in shader compilation: info: F:\Emulator\PSP\Shader@0x0000018C35305510(100,16-55): error X4505: maximum temp register index exceeded
F:\Emulator\PSP\Shader@0x0000018C35305510(100,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLig |
1 |
1 |
4 |
2023-08-13 |
| D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FC82D10(110,16-57): error X4505: maximum temp register index exceeded
C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FC82D10(110,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle |
1 |
1 |
4 |
2020-10-15 |
| D3D error in shader compilation: info: (94): error X4004: program too complex; there are more active values than registers
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
angle = dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y);
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot;
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance |
1 |
1 |
4 |
2019-02-03 |
| D3D error in shader compilation: info: D:\5funGameHall\memory(10,16): error X3018: invalid subscript 'pixelPos'
/ code: float4 u_alphacolorref : register(c1);
float4 u_alphacolormask : register(c2);
float roundAndScaleTo255f(float x) { return floor(x * 255.0f + 0.5f); }
struct PS_IN {
float4 v_color0: COLOR0;
};
float4 main( PS_IN In ) : COLOR {
float4 v = In.v_color0 ;
if (roundAndScaleTo255f(v.a) < u_alphacolorref.a) clip(-1);
float z = In.pixelPos.z;
z = (floor((z * 16776960.000000) - (1.0 / 2.0)) + (1.0 / 2.0)) * (1.0 / 16776960.000000);
outfragment.depth = z;
return v;
}
|
1 |
1 |
3 |
2021-09-04 |
| D3D error in shader compilation: info: D:\5funGameHall\memory(10,16): error X3018: invalid subscript 'pixelPos'
/ code: sampler tex : register(s0);
struct PS_IN {
float3 v_texcoord: TEXCOORD0;
float4 v_color0: COLOR0;
};
float4 main( PS_IN In ) : COLOR {
float4 t = tex2D(tex, In.v_texcoord.xy);
float4 p = In.v_color0;
float4 v = float4(t.rgb * p.rgb, p.a);
float z = In.pixelPos.z;
z = (floor((z * 262140.000000) - (1.0 / 2.0)) + (1.0 / 2.0)) * (1.0 / 262140.000000);
outfragment.depth = z;
return v;
}
|
1 |
1 |
3 |
2021-09-04 |
| D3D error in shader compilation: info: D:\5funGameHall\memory(12,16): error X3018: invalid subscript 'pixelPos'
/ code: sampler tex : register(s0);
float4 u_texclamp : register(c8);
struct PS_IN {
float3 v_texcoord: TEXCOORD0;
float4 v_color0: COLOR0;
};
float4 main( PS_IN In ) : COLOR {
float2 fixedcoord = float2(clamp(In.v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z), clamp(In.v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w));
float4 t = tex2D(tex, fixedcoord.xy);
float4 p = In.v_color0;
float4 v = float4(t.rgb * p.rgb, p.a);
float z = In.pixelPos.z;
z = (floor((z * 262140.000000) - (1.0 / 2.0)) + (1.0 / 2.0)) * (1.0 / 262140.000000);
outfragment.depth = z;
return v;
}
|
1 |
1 |
3 |
2021-09-04 |
| D3D error in shader compilation: info: D:\5funGameHall\memory(12,16): error X3018: invalid subscript 'pixelPos'
/ code: sampler tex : register(s0);
float4 u_texclamp : register(c8);
struct PS_IN {
float3 v_texcoord: TEXCOORD0;
float4 v_color0: COLOR0;
};
float4 main( PS_IN In ) : COLOR {
float2 fixedcoord = float2(clamp(In.v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z), clamp(In.v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w));
float4 t = tex2D(tex, fixedcoord.xy);
float4 p = In.v_color0;
float4 v = p * t;
float z = In.pixelPos.z;
z = (floor((z * 262140.000000) - (1.0 / 2.0)) + (1.0 / 2.0)) * (1.0 / 262140.000000);
outfragment.depth = z;
return v;
}
|
1 |
1 |
3 |
2021-09-04 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001E5D3F9F1F0(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_col[4] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
_col[5] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
|
1 |
1 |
3 |
2021-02-08 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001DF4BBF9E50(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
i |
1 |
1 |
3 |
2020-12-30 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F084A98(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[8] = tess_data[index].pos;
index = ( |
1 |
1 |
3 |
2020-12-28 |
| D3D error in shader compilation: info: <anonymous>:8:51: E5017: Aborting due to not yet implemented feature: SM1 "(null)" expression.
<anonymous>:8:51: E5017: Aborting due to not yet implemented feature: SM1 "(null)" expression.
<anonymous>:12:15: E5017: Aborting due to not yet implemented feature: SM1 "(null)" expression.
<anonymous>:12:8: E5017: Aborting due to not yet implemented feature: SM1 non-float expression.
<anonymous>:12:8: E5017: Aborting due to not yet implemented feature: Instruction type HLSL_IR_IF.
/ code:
sampler tex: register(s0);
// TODO: Don't use fixed registers? Or don't overlap?
float4 u_stencilValue : register(c10);
struct PS_IN {
float2 v_texcoord0 : TEXCOORD0;
};
float roundAndScaleTo255f(in float x) { return floor(x * 255.99); }
float4 main(PS_IN In) : COLOR {
float4 index = tex2D(tex, In.v_texcoord0);
float shifted = roundAndScaleTo255f(index.a) / roundAndScaleTo255f(u_stencilValue.x);
clip(fmod(floor(shifted), 2.0) - 0.99);
return index.aaaa;
}
|
1 |
1 |
2 |
2024-06-19 |
| D3D error in shader compilation: info: C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(122,12-71): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(144,16-57): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(144,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle |
1 |
1 |
2 |
2023-02-23 |
| D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0D63C7E8(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0D63C7E8(122,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ld |
1 |
1 |
2 |
2022-05-11 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000000CA00960(139,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x000000000CA00960(139,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = cla |
1 |
1 |
2 |
2021-11-01 |
| D3D error in shader compilation: info: D:\5funGameHall\memory(14,16): error X3018: invalid subscript 'pixelPos'
/ code: sampler tex : register(s0);
float4 u_alphacolorref : register(c1);
float4 u_alphacolormask : register(c2);
float roundAndScaleTo255f(float x) { return floor(x * 255.0f + 0.5f); }
struct PS_IN {
float3 v_texcoord: TEXCOORD0;
float4 v_color0: COLOR0;
};
float4 main( PS_IN In ) : COLOR {
float4 t = tex2D(tex, In.v_texcoord.xy).bgra;
float4 p = In.v_color0;
float4 v = p * t;
clip(v.a - 0.002);
float z = In.pixelPos.z;
z = (floor((z * 16776960.000000) - (1.0 / 2.0)) + (1.0 / 2.0)) * (1.0 / 16776960.000000);
outfragment.depth = z;
return v;
}
|
1 |
1 |
2 |
2021-09-04 |
| D3D error in shader compilation: info: D:\5funGameHall\memory(10,16): error X3018: invalid subscript 'pixelPos'
/ code: float4 u_alphacolorref : register(c1);
float4 u_alphacolormask : register(c2);
float roundAndScaleTo255f(float x) { return floor(x * 255.0f + 0.5f); }
struct PS_IN {
float4 v_color0: COLOR0;
};
float4 main( PS_IN In ) : COLOR {
float4 v = In.v_color0 ;
if (roundAndScaleTo255f(v.a) < u_alphacolorref.a) clip(-1);
float z = In.pixelPos.z;
z = (1.0/65535.0) * floor(z * 65535.0);
outfragment.depth = z;
return v;
}
|
1 |
1 |
2 |
2021-09-04 |
| D3D error in shader compilation: info: C:\Windows\system32\memory(10,16): error X3018: invalid subscript 'pixelPos'
/ code: float4 u_alphacolorref : register(c1);
float4 u_alphacolormask : register(c2);
float roundAndScaleTo255f(float x) { return floor(x * 255.0f + 0.5f); }
struct PS_IN {
float4 v_color0: COLOR0;
};
float4 main( PS_IN In ) : COLOR {
float4 v = In.v_color0 ;
if (roundAndScaleTo255f(v.a) < u_alphacolorref.a) clip(-1);
float z = In.pixelPos.z;
z = (floor((z * 16776960.000000) - (1.0 / 2.0)) + (1.0 / 2.0)) * (1.0 / 16776960.000000);
outfragment.depth = z;
return v;
}
|
1 |
1 |
2 |
2021-08-29 |
| D3D error in shader compilation: info: (90): error X4004: program too complex; there are more active values than registers
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c47);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c51);
float3 u_lightatt0 : register(c59);
float3 u_lightambient0 : register(c79);
float3 u_lightdiffuse0 : register(c71);
float3 u_lightspecular0 : register(c75);
float3 u_lightpos1 : register(c52);
float3 u_lightatt1 : register(c60);
float3 u_lightambient1 : register(c80);
float3 u_lightdiffuse1 : register(c72);
float3 u_lightspecular1 : register(c76);
float3 u_lightpos2 : register(c53);
float3 u_lightatt2 : register(c61);
float3 u_lightambient2 : register(c81);
float3 u_lightdiffuse2 : register(c73);
float3 u_lightspecular2 : register(c77);
float3 u_lightpos3 : register(c54);
float3 u_lightatt3 : register(c62);
float3 u_lightambient3 : register(c82);
float3 u_lightdiffuse3 : register(c74);
float3 u_lightspecular3 : register(c78);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c48);
float4 u_matspecular : register(c49);
float3 u_matemissive : register(c50);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
Out.gl_Position = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
float dot0 = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(dot0, 0.0);
dot0 = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (dot0 > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(dot0, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
float dot1 = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(dot1, 0.0);
dot1 = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (dot1 > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(dot1, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
float dot2 = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(dot2, 0.0);
dot2 = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (dot2 > 0.0)
lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(dot2, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
float dot3 = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(dot3, 0.0);
dot3 = dot(normalize(toLigh |
1 |
1 |
2 |
2020-10-23 |
| D3D error in shader compilation: info: J:\exodosama\EXODo restore\Emus\psp\Shader@0x09669AD8(104,16-57): error X4505: maximum temp register index exceeded
J:\exodosama\EXODo restore\Emus\psp\Shader@0x09669AD8(104,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance |
1 |
1 |
2 |
2020-09-22 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000207A2AEA040(135,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x00000207A2AEA040(135,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
|
1 |
1 |
2 |
2020-07-23 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001BC040057A0(135,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x000001BC040057A0(135,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
|
1 |
1 |
2 |
2020-07-23 |