| Message |
# of games |
Rows |
Hits |
Latest Report |
| D3D error in shader compilation: info: C:\Program Files\5funGameHall\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
C:\Program Files\5funGameHall\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
C:\Program Files\5funGameHall\memory(14,21): error X3013: Possible intrinsic functions are:
C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(float, float)
C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(float, floatK)
C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(float, floatLxK)
C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatM, float)
C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatM, floatM)
C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatM, floatMxK)
C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatNxM, float)
C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatM)
C:\Program Files\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 |
422 |
2024-08-22 |
| D3D error in shader compilation: info: C:\Documents and Settings\Administrator\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
C:\Documents and Settings\Administrator\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
C:\Documents and Settings\Administrator\memory(14,21): error X3013: Possible intrinsic functions are:
C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(float, float)
C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(float, floatK)
C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(float, floatLxK)
C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatM, float)
C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatM, floatM)
C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatM, floatMxK)
C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatNxM, float)
C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatNxM, floatM)
C:\Documents and Settings\Administrator\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;
}
|
3 |
3 |
283 |
2023-08-06 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\memory(133,10): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\memory(133,10): 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);
if (angle >= u_lightangl |
2 |
2 |
267 |
2019-07-15 |
| D3D error in shader compilation: info: (101): 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(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);
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 lightSum1 = 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);
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);
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 * In.color0.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_light |
2 |
2 |
148 |
2020-09-02 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000002BDBA0BB1D0(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x000002BDBA0BB1D0(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_lightan |
1 |
1 |
99 |
2023-03-17 |
| D3D error in shader compilation: info: D:\360????????????\ppsspp\Shader@0x11D19540(101,16-55): error X4505: maximum temp register index exceeded
D:\360????????????\ppsspp\Shader@0x11D19540(101,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);
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_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;
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(no |
1 |
1 |
99 |
2022-10-21 |
| D3D error in shader compilation: info: C:\Users\MARCIN\Desktop\Shader@0x10066D18(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;
_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 |
99 |
2021-10-05 |
| D3D error in shader compilation: info: F:\PPSSPP\Shader@0x0000021FCEB86820(137,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x0000021FCEB86820(137,12-69): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x0000021FCEB86820(159,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x0000021FCEB86820(159,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. |
2 |
2 |
99 |
2021-08-07 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x11142CC8(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 |
99 |
2021-07-04 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0D11DCB8(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 |
99 |
2021-06-17 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F242CB8(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 |
99 |
2021-06-16 |
| D3D error in shader compilation: info: D:\programy\PPSSPP\Shader@0x000000DB37DC8220(132,16-55): error X4505: maximum temp register index exceeded
D:\programy\PPSSPP\Shader@0x000000DB37DC8220(132,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_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_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;
};
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 = 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)), 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, |
1 |
1 |
99 |
2021-04-21 |
| D3D error in shader compilation: info: C:\Users\pc\Downloads\PPSSPP\PPSSPP\Shader@0x000001B9BF07C230(137,16-55): error X4505: maximum temp register index exceeded
C:\Users\pc\Downloads\PPSSPP\PPSSPP\Shader@0x000001B9BF07C230(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 |
2 |
2 |
99 |
2021-04-20 |
| D3D error in shader compilation: info: C:\Users\USER\Desktop\ppsspp_win\Shader@0x06D5F340(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;
ind |
1 |
1 |
99 |
2020-10-15 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x06058C70(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 |
99 |
2020-08-12 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x10590DC8(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 |
99 |
2020-08-11 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x13B09B78(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 |
99 |
2020-08-11 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C427C88(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 |
99 |
2020-08-10 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C4E7CE0(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 |
99 |
2020-08-10 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F58BBC0(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 |
99 |
2020-08-09 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000002A2BE6A1210(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 |
99 |
2020-08-04 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F7C8050(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F7C8050(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 |
98 |
2024-07-19 |
| D3D error in shader compilation: info: C:\Users\Miana\OneDrive\?rea de Trabalho\ppsspp_win\Shader@0x000001BE99AE5710(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] |
1 |
1 |
98 |
2023-12-05 |
| D3D error in shader compilation: info: C:\Users\Miana\OneDrive\?rea de Trabalho\ppsspp_win\Shader@0x000001BE9002BD60(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] |
1 |
1 |
98 |
2023-12-05 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001DBA4A8F240(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x000001DBA4A8F240(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_lightan |
1 |
1 |
98 |
2023-03-06 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000200B533D220(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x00000200B533D220(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_lightan |
1 |
1 |
98 |
2023-03-06 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001F8B1DBE6B0(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x000001F8B1DBE6B0(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_lightan |
1 |
1 |
98 |
2023-03-05 |
| D3D error in shader compilation: info: C:\Users\agusss\Desktop\ppsspp_win\Shader@0x000000000ECEAD60(142,16-55): error X4505: maximum temp register index exceeded
C:\Users\agusss\Desktop\ppsspp_win\Shader@0x000000000ECEAD60(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 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_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_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 - 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 |
1 |
1 |
98 |
2022-12-28 |
| D3D error in shader compilation: info: E:\EMULATERS\ppsspp gold\memory(135,10): error X4505: maximum temp register index exceeded
E:\EMULATERS\ppsspp gold\memory(135,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_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(u_lightdir2) == 0.0 ? 0.0 |
1 |
1 |
98 |
2022-12-16 |
| D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x114EAD10(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 |
98 |
2022-09-09 |
| D3D error in shader compilation: info: C:\Windows\system32\Shader@0x0BEC5088(137,16-55): error X4505: maximum temp register index exceeded
C:\Windows\system32\Shader@0x0BEC5088(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)), 0.0, 1.0) * (u_light |
1 |
1 |
98 |
2022-03-28 |
| D3D error in shader compilation: info: F:\PPSSPP\Shader@0x0000023F5AA67030(137,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x0000023F5AA67030(137,12-69): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x0000023F5AA67030(159,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x0000023F5AA67030(159,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. |
1 |
1 |
98 |
2021-08-08 |
| D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000001362E5D0090(137,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000001362E5D0090(137,12-69): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000001362E5D0090(159,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000001362E5D0090(159,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. |
1 |
1 |
98 |
2021-08-07 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C967D78(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 |
98 |
2021-07-01 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0AA6ACB8(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 |
98 |
2021-06-17 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0FB3AF50(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 |
98 |
2021-06-17 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x10158D28(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 |
98 |
2021-06-16 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0E9EDD18(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 |
98 |
2021-04-11 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C092D50(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 |
98 |
2021-04-11 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001A321C3B110(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 |
98 |
2021-03-17 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001FEE3F5B0E0(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 |
98 |
2021-03-04 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001DE986C88B0(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 |
98 |
2021-01-02 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000238519FFE10(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;
_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_co |
2 |
2 |
98 |
2020-12-26 |
| D3D error in shader compilation: info: D:\Applications\Other Games\PSP Emulator (PPSSPP)\Shader@0x000001DBAB23B2D0(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;
_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] |
1 |
1 |
98 |
2020-12-24 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000000B817D11D0(122,16-57): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0000000B817D11D0(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(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(norm |
1 |
1 |
98 |
2020-12-14 |
| D3D error in shader compilation: info: C:\Users\Adriana de jesus\Documents\PPSSPP\Shader@0x0000021226277CE0(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_d |
1 |
1 |
98 |
2020-11-26 |
| D3D error in shader compilation: info: E:\psp console\Shader@0x0000020361AF3010(100,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_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;
};
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[inde |
1 |
1 |
98 |
2020-11-09 |
| D3D error in shader compilation: info: F:\Pastas\PPSSPPGold v1.10.3\Shader@0x11572148(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;
inde |
1 |
1 |
98 |
2020-10-12 |
| D3D error in shader compilation: info: C:\Users\ryuha\Downloads\ppsspp_win\Shader@0x00000219332BDE90(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 |
98 |
2020-09-20 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000002A9726B070(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 |
98 |
2020-09-17 |
| D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x00000000026FE0D0(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x00000000026FE0D0(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_lightdiffuse |
1 |
1 |
98 |
2020-06-12 |
| D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000278B160(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000278B160(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_lightdiffuse |
1 |
1 |
98 |
2020-06-11 |
| D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000C62E9E0(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000C62E9E0(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_lightdiffuse |
1 |
1 |
98 |
2020-06-11 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C394160(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C394160(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 |
97 |
2024-07-19 |
| D3D error in shader compilation: info: D:\Games\Emulators\Playstation portable\PPSSPP\Shader@0x000000B723586690(85,16-55): error X4505: maximum temp register index exceeded
D:\Games\Emulators\Playstation portable\PPSSPP\Shader@0x000000B723586690(85,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_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);
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. |
1 |
1 |
97 |
2022-09-21 |
| D3D error in shader compilation: info: D:\Games\Emulators\Playstation portable\PPSSPP\Shader@0x000000B71D5D9020(85,16-55): error X4505: maximum temp register index exceeded
D:\Games\Emulators\Playstation portable\PPSSPP\Shader@0x000000B71D5D9020(85,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_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);
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. |
1 |
1 |
97 |
2022-09-21 |
| D3D error in shader compilation: info: E:\Games\Emulation\PPSSPP\Shader@0x0000023E85574670(87,16-55): error X4505: maximum temp register index exceeded
E:\Games\Emulation\PPSSPP\Shader@0x0000023E85574670(87,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_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_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 - 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) {
|
1 |
1 |
97 |
2022-08-24 |
| D3D error in shader compilation: info: C:\games\emulator\ps\psp\1.PPSSPP\Shader@0x0CDD6940(123,16-55): error X4505: maximum temp register index exceeded
C:\games\emulator\ps\psp\1.PPSSPP\Shader@0x0CDD6940(123,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_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;
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_lightpos2 - worldpos;
distance = length(t |
1 |
1 |
97 |
2021-11-04 |
| D3D error in shader compilation: info: C:\Games\Emulators\Sony\PSP\Shader@0x000001DE2706C680(113,16-57): error X4505: maximum temp register index exceeded
C:\Games\Emulators\Sony\PSP\Shader@0x000001DE2706C680(113,12-71): error X4505: maximum temp register index exceeded
C:\Games\Emulators\Sony\PSP\Shader@0x000001DE2706C680(135,16-57): error X4505: maximum temp register index exceeded
C:\Games\Emulators\Sony\PSP\Shader@0x000001DE2706C680(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. |
1 |
1 |
97 |
2021-10-13 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000018A7761D220(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 |
97 |
2021-02-28 |
| D3D error in shader compilation: info: C:\Users\luizt\OneDrive\?rea de Trabalho\PSP Capit?o capcom\Shader@0x0000014F6F3DC780(96,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);
float4x3 u_tex : register(c14);
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_spli |
1 |
1 |
96 |
2024-10-24 |
| D3D error in shader compilation: info: D:\Juegos\Emuladores\PPSSPP\Shader@0x10704D20(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;
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[6] |
1 |
1 |
96 |
2024-10-20 |
| D3D error in shader compilation: info: C:\Users\luizt\OneDrive\?rea de Trabalho\PSP Capit?o capcom\Shader@0x0000028FE34A9680(96,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);
float4x3 u_tex : register(c14);
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_spli |
1 |
1 |
96 |
2024-09-18 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000000CA00960(137,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x000000000CA00960(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 |
96 |
2021-11-01 |
| D3D error in shader compilation: info: C:\Users\username\Documents\Emulators\Shader@0x000001C4E65A0060(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[inde |
1 |
1 |
96 |
2021-08-14 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000000BD481E0(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 |
96 |
2020-10-28 |
| D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0E347D08(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0E347D08(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 |
95 |
2025-03-14 |
| D3D error in shader compilation: info: C:\PSP Capit?o capcom\Shader@0x000001B29F19FFD0(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;
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 |
95 |
2024-01-14 |
| D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x133EB558(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x133EB558(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 |
95 |
2023-08-17 |
| D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0F5B0048(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0F5B0048(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 |
95 |
2022-04-08 |
| D3D error in shader compilation: info: C:\Users\WONGE DEWEK\Documents\ppsspp\Shader@0x000000AA77868AA0(85,16-55): error X4505: maximum temp register index exceeded
C:\Users\WONGE DEWEK\Documents\ppsspp\Shader@0x000000AA77868AA0(85,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_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);
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 {
|
3 |
3 |
95 |
2022-03-31 |
| D3D error in shader compilation: info: C:\Users\Familia Arrieta\Downloads\PPSSPP\Shader@0x0000016272B88250(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Familia Arrieta\Downloads\PPSSPP\Shader@0x0000016272B88250(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(ldot, 0.0);
if |
1 |
1 |
95 |
2021-11-14 |
| D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000AF6FD10(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000AF6FD10(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_lightdiffuse |
1 |
1 |
94 |
2020-07-29 |
| D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000BB89D20(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000BB89D20(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_lightdiffuse |
1 |
1 |
94 |
2020-06-26 |
| D3D error in shader compilation: info: G:\Grand Theft Auto??Liberty city stories\Shader@0x0A04E048(133,16-57): error X4505: maximum temp register index exceeded
G:\Grand Theft Auto??Liberty city stories\Shader@0x0A04E048(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 : |
1 |
1 |
94 |
2020-04-02 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C233950(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C233950(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 |
93 |
2024-07-20 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000017A462F34F0(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 |
93 |
2020-09-14 |
| D3D error in shader compilation: info: C:\Users\Gustavo Camacho\Desktop\PSP\Shader@0x0C2F7CA8(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 |
1 |
1 |
92 |
2022-11-28 |
| D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x13000048(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 |
92 |
2022-09-05 |
| D3D error in shader compilation: info: D:\Game\Simulator\PPSSPP\Shader@0x00000235151281E0(123,16-55): error X4505: maximum temp register index exceeded
D:\Game\Simulator\PPSSPP\Shader@0x00000235151281E0(123,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_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;
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_lightpos2 - worldpos;
distance = length(toL |
1 |
1 |
92 |
2022-09-05 |
| D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x0AFCF850(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 |
92 |
2022-08-22 |
| D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x058E2EC8(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 |
92 |
2022-08-22 |
| D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x0D629C98(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 |
92 |
2022-08-15 |
| D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000EC7F270(100,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000EC7F270(100,12-69): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000EC7F270(144,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000EC7F270(144,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);
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;
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;
t |
1 |
1 |
92 |
2022-06-12 |
| D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000ED41A70(97,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000ED41A70(97,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);
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;
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), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distanc |
1 |
1 |
92 |
2022-06-03 |
| D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000FCA0080(97,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000FCA0080(97,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);
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;
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), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distanc |
1 |
1 |
92 |
2022-05-31 |
| D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000EB43AB0(97,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000EB43AB0(97,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);
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;
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), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distanc |
1 |
1 |
92 |
2022-05-21 |
| D3D error in shader compilation: info: C:\Users\yoney\Desktop\ppsspp_win\Shader@0x00000216564C5250(133,16-57): error X4505: maximum temp register index exceeded
C:\Users\yoney\Desktop\ppsspp_win\Shader@0x00000216564C5250(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 : |
1 |
1 |
92 |
2021-06-12 |
| D3D error in shader compilation: info: C:\Users\yoney\Desktop\ppsspp_win\Shader@0x000002063CB5E080(133,16-57): error X4505: maximum temp register index exceeded
C:\Users\yoney\Desktop\ppsspp_win\Shader@0x000002063CB5E080(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 : |
1 |
1 |
92 |
2021-06-08 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x089C6040(125,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x089C6040(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_ |
2 |
2 |
92 |
2021-03-29 |
| D3D error in shader compilation: info: C:\Users\Zully\Desktop\Shader@0x000000EA61EF52C0(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;
in |
1 |
1 |
92 |
2020-12-08 |
| D3D error in shader compilation: info: C:\Users\Zully\Desktop\Shader@0x0000003BB5575080(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;
in |
1 |
1 |
92 |
2020-11-14 |
| D3D error in shader compilation: info: D:\PSP\Emulador de PSP\Shader@0x16998308(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 = (2 |
1 |
1 |
92 |
2020-10-22 |
| D3D error in shader compilation: info: D:\PSP\Emulador de PSP\Shader@0x0C55A378(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 = (2 |
1 |
1 |
92 |
2020-10-22 |
| D3D error in shader compilation: info: C:\Users\Zully\Desktop\Shader@0x000000A2EC2BE270(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;
in |
1 |
1 |
92 |
2020-10-03 |
| D3D error in shader compilation: info: C:\Users\Zully\Desktop\Shader@0x000000DD45B9A260(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;
in |
1 |
1 |
92 |
2020-10-03 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001AEFF7AB6F0(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 |
92 |
2020-08-27 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000212F254B230(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 |
92 |
2020-08-26 |
| D3D error in shader compilation: info: C:\Users\usuario\Downloads\ppsspp-1-10-3\Shader@0x0ED6CF00(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] |
1 |
1 |
92 |
2020-08-22 |
| D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x104249C8(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 |
92 |
2020-08-12 |