To see your stuff show here, enable Compatibility Server Reports in PPSSPP.
Click on a version, game, or report message to show similar entries. Hover over version to see platform info, and hover over a game title to see region and version info.
Game title |
Version |
Latest Report |
Message |
幻想水滸伝Ⅰ&Ⅱ |
v1.4.2-425-g7a7ccee5e |
2024-11-04 |
D3D error in shader compilation: info: D:\??\5funGameHall\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
D:\??\5funGameHall\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
D:\??\5funGameHall\memory(14,21): error X3013: Possible intrinsic functions are:
D:\??\5funGameHall\memory(14,21): error X3013: mul(float, float)
D:\??\5funGameHall\memory(14,21): error X3013: mul(float, floatK)
D:\??\5funGameHall\memory(14,21): error X3013: mul(float, floatLxK)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatM, float)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatM, floatM)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatM, floatMxK)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatNxM, float)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatM)
D:\??\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatMxK)
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
struct VS_IN {
float4 position : POSITION;
float4 color0 : COLOR0;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
Out.v_color0 = In.color0;
Out.gl_Position = mul(float4(In.position.xyz, 1.0), u_proj_through);
return Out;
}
|
TEST DRIVE UNLIMITED |
v1.10.3 |
2024-10-24 |
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 |
SOULCALIBUR: Broken Destiny |
v1.10.3 |
2024-10-20 |
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] |
TEST DRIVE UNLIMITED |
v1.10.3 |
2024-09-18 |
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 |
Fate/EXTRA CCC |
v1.4.2-425-g7a7ccee5e |
2024-08-23 |
D3D error in shader compilation: info: C:\Program Files (x86)\5funGameHall\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: Possible intrinsic functions are:
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(float, float)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(float, floatK)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(float, floatLxK)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatM, float)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatM, floatM)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatM, floatMxK)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatNxM, float)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatM)
C:\Program Files (x86)\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatMxK)
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
struct VS_IN {
float4 position : POSITION;
float4 color0 : COLOR0;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
Out.v_color0 = In.color0;
Out.gl_Position = mul(float4(In.position.xyz, 1.0), u_proj_through);
return Out;
}
|
ドラゴンボールZ 真武道会2 |
v1.4.2-425-g7a7ccee5e |
2024-08-13 |
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;
}
|
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-22 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x1271E8F8(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x1271E8F8(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-22 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x08950D80(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x08950D80(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-22 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F0F4D50(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F0F4D50(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-21 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0FAC6348(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0FAC6348(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) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-20 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F0E2528(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F0E2528(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-20 |
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) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-20 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C233950(142,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C233950(142,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-19 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C1FB8E8(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C1FB8E8(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-19 |
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) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-19 |
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) |
WWE SmackDown vs. RAW 2008 |
v1.14.4 |
2024-07-05 |
D3D error in shader compilation: info: out of memory during compilation
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define uvec3 uint3
#define uvec4 uint4
#define ivec2 int2
#define ivec3 int3
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) float3(x, x, x)
#define mix lerp
#define lowp
#define mediump
#define highp
#define fract frac
#define mod(x, y) fmod(x, y)
#define DISCARD clip(-1)
#define DISCARD_BELOW(x) clip(x)
// 00188000:0081d022 Tex TexAlpha 2x BGRA TFuncMod AlphaTest0 >
sampler tex : register(s0);
vec4 u_alphacolorref : register(c1);
vec4 u_alphacolormask : register(c2);
float roundAndScaleTo255f(float x) { return floor(x * 255.0f + 0.5f); }
struct PS_IN {
vec3 v_texcoord: TEXCOORD0;
vec4 v_color0: COLOR0;
float v_fogdepth: TEXCOORD1;
};
struct PS_OUT {
vec4 target : COLOR;
};
PS_OUT main( PS_IN In ) {
PS_OUT outfragment;
vec4 v_color0 = In.v_color0;
vec3 v_texcoord = In.v_texcoord;
vec4 t = tex2D(tex, v_texcoord.xy).bgra;
vec4 p = v_color0;
vec4 v = p * t;
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0);
if (v.a < 0.002) DISCARD;
outfragment.target = v;
return outfragment;
}
|
METAL SLUG Anthology |
v1.11.1 |
2024-06-19 |
D3D error in shader compilation: info: <anonymous>:8:51: E5017: Aborting due to not yet implemented feature: SM1 "(null)" expression.
<anonymous>:8:51: E5017: Aborting due to not yet implemented feature: SM1 "(null)" expression.
<anonymous>:12:15: E5017: Aborting due to not yet implemented feature: SM1 "(null)" expression.
<anonymous>:12:8: E5017: Aborting due to not yet implemented feature: SM1 non-float expression.
<anonymous>:12:8: E5017: Aborting due to not yet implemented feature: Instruction type HLSL_IR_IF.
/ code:
sampler tex: register(s0);
// TODO: Don't use fixed registers? Or don't overlap?
float4 u_stencilValue : register(c10);
struct PS_IN {
float2 v_texcoord0 : TEXCOORD0;
};
float roundAndScaleTo255f(in float x) { return floor(x * 255.99); }
float4 main(PS_IN In) : COLOR {
float4 index = tex2D(tex, In.v_texcoord0);
float shifted = roundAndScaleTo255f(index.a) / roundAndScaleTo255f(u_stencilValue.x);
clip(fmod(floor(shifted), 2.0) - 0.99);
return index.aaaa;
}
|
METAL SLUG Anthology |
v1.11.1 |
2024-06-19 |
D3D error in shader compilation: info: <anonymous>:8:51: E5017: Aborting due to not yet implemented feature: SM1 "(null)" expression.
<anonymous>:8:51: E5017: Aborting due to not yet implemented feature: SM1 "(null)" expression.
<anonymous>:12:15: E5017: Aborting due to not yet implemented feature: SM1 "(null)" expression.
<anonymous>:12:8: E5017: Aborting due to not yet implemented feature: SM1 non-float expression.
<anonymous>:12:8: E5017: Aborting due to not yet implemented feature: Instruction type HLSL_IR_IF.
� / code:
sampler tex: register(s0);
// TODO: Don't use fixed registers? Or don't overlap?
float4 u_stencilValue : register(c10);
struct PS_IN {
float2 v_texcoord0 : TEXCOORD0;
};
float roundAndScaleTo255f(in float x) { return floor(x * 255.99); }
float4 main(PS_IN In) : COLOR {
float4 index = tex2D(tex, In.v_texcoord0);
float shifted = roundAndScaleTo255f(index.a) / roundAndScaleTo255f(u_stencilValue.x);
clip(fmod(floor(shifted), 2.0) - 0.99);
return index.aaaa;
}
|
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2024-03-16 |
D3D error in shader compilation: info: C:\Users\PC\Videos\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x12C5ACA0(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\PC\Videos\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x12C5ACA0(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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2024-03-16 |
D3D error in shader compilation: info: C:\Users\PC\Videos\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x0AB9AFC8(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\PC\Videos\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x0AB9AFC8(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 |
METAL GEAR SOLID PEACE WALKER |
v1.4.2-425-g7a7ccee5e |
2024-08-08 |
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;
}
|
INFECTED |
v1.4.2-425-g7a7ccee5e |
2024-08-22 |
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;
}
|
SOULCALIBUR: Broken Destiny |
v1.10.3 |
2024-01-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[ |
DRAGON BALL Z SHIN BUDOKAI 2 |
v1.10.3 |
2023-12-05 |
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] |
DRAGON BALL Z SHIN BUDOKAI 2 |
v1.10.3 |
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] |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2023-11-22 |
D3D error in shader compilation: info: C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000B5491C0(122,16-57): error X4505: maximum temp register index exceeded
C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000B5491C0(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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2023-11-21 |
D3D error in shader compilation: info: C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000796CD70(122,16-57): error X4505: maximum temp register index exceeded
C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000796CD70(122,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2023-11-20 |
D3D error in shader compilation: info: C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000BB38020(122,16-57): error X4505: maximum temp register index exceeded
C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000BB38020(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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2023-11-19 |
D3D error in shader compilation: info: C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000BA6E1B0(122,16-57): error X4505: maximum temp register index exceeded
C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000BA6E1B0(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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2023-11-18 |
D3D error in shader compilation: info: C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x00000000073D4050(122,16-57): error X4505: maximum temp register index exceeded
C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x00000000073D4050(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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2023-11-18 |
D3D error in shader compilation: info: C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000BA16760(122,16-57): error X4505: maximum temp register index exceeded
C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x000000000BA16760(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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2023-11-18 |
D3D error in shader compilation: info: C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x0000000007A0B4A0(122,16-57): error X4505: maximum temp register index exceeded
C:\WWE-2K14-PC-PSP\WWE-2K14-DownloadComputerGames.net\Shader@0x0000000007A0B4A0(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 |
Resistance: Retribution™ |
v1.12.3 |
2023-11-07 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000153BF5448E0(100,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x00000153BF5448E0(100,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_l |
eFootball By TM ARTS |
v1.15.4 |
2023-08-22 |
D3D error in shader compilation: info: Espacio de almacenamiento insuficiente para completar esta operación.
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define uvec3 uint3
#define uvec4 uint4
#define ivec2 int2
#define ivec3 int3
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) float3(x, x, x)
#define mix lerp
#define lowp
#define mediump
#define highp
#define fract frac
#define mod(x, y) fmod(x, y)
#define DISCARD clip(-1)
#define DISCARD_BELOW(x) clip(x)
// 00184000:0001d002 Tex Flat TFuncMod AlphaTest0 >
sampler tex : register(s0);
vec4 u_alphacolorref : register(c1);
vec4 u_alphacolormask : register(c2);
float u_texNoAlpha : register(c11);
float u_texMul : register(c12);
float roundAndScaleTo255f(float x) { return floor(x * 255.0f + 0.5f); }
struct PS_IN {
vec3 v_texcoord: TEXCOORD0;
vec4 v_color0: COLOR0;
float v_fogdepth: TEXCOORD1;
};
struct PS_OUT {
vec4 target : COLOR;
};
PS_OUT main( PS_IN In ) {
PS_OUT outfragment;
vec4 v_color0 = In.v_color0;
vec3 v_texcoord = In.v_texcoord;
vec4 t = tex2D(tex, v_texcoord.xy);
vec4 p = v_color0;
t.a = max(t.a, u_texNoAlpha);
vec4 v = p * t;
v.rgb *= u_texMul;
if (v.a < 0.002) DISCARD;
outfragment.target = v;
return outfragment;
}
|
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2023-08-17 |
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 |
RESISTANCE® ~報復の刻~ |
v1.12.3 |
2023-08-13 |
D3D error in shader compilation: info: F:\Emulator\PSP\Shader@0x0000018C35305510(100,16-55): error X4505: maximum temp register index exceeded
F:\Emulator\PSP\Shader@0x0000018C35305510(100,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLig |
中原の覇者 三国将星伝 |
v1.4.2-425-g7a7ccee5e |
2023-08-06 |
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;
}
|
Grand Theft Auto: Chinatown Wars |
v1.13.2 |
2023-07-19 |
D3D error in shader compilation: info: C:\Users\Marcos\Desktop\Nueva carpeta\PSP\Shader@0x0F6A8D28(99,16-55): error X4505: maximum temp register index exceeded
C:\Users\Marcos\Desktop\Nueva carpeta\PSP\Shader@0x0F6A8D28(99,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat2 float2x2
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_depthRange : register(c52);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
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);
|
中原の覇者 三国将星伝 |
v1.4.2-425-g7a7ccee5e |
2023-06-18 |
D3D error in shader compilation: info: C:\Windows\system32\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
C:\Windows\system32\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
C:\Windows\system32\memory(14,21): error X3013: Possible intrinsic functions are:
C:\Windows\system32\memory(14,21): error X3013: mul(float, float)
C:\Windows\system32\memory(14,21): error X3013: mul(float, floatK)
C:\Windows\system32\memory(14,21): error X3013: mul(float, floatLxK)
C:\Windows\system32\memory(14,21): error X3013: mul(floatM, float)
C:\Windows\system32\memory(14,21): error X3013: mul(floatM, floatM)
C:\Windows\system32\memory(14,21): error X3013: mul(floatM, floatMxK)
C:\Windows\system32\memory(14,21): error X3013: mul(floatNxM, float)
C:\Windows\system32\memory(14,21): error X3013: mul(floatNxM, floatM)
C:\Windows\system32\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;
}
|
ワールド・ネバーランド~ククリア王国物語~ |
v1.4.2-425-g7a7ccee5e |
2023-06-18 |
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;
}
|
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2023-04-06 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001EA217E6020(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x000001EA217E6020(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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2023-03-17 |
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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2023-03-06 |
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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
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 |
eFootball PES 2021 T. Bendezu "C19" |
v1.11.3 |
2023-03-05 |
D3D error in shader compilation: info: No hay suficientes recursos de memoria disponibles para completar esta operación.
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define uvec3 uint3
#define uvec4 uint4
#define ivec3 int3
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) float3(x, x, x)
#define mix lerp
#define lowp
#define mediump
#define highp
#define mod(x, y) fmod(x, y)
#define DISCARD clip(-1)
#define DISCARD_BELOW(x) clip(x)
sampler tex : register(s0);
vec4 u_alphacolorref : register(c1);
vec4 u_alphacolormask : register(c2);
float roundAndScaleTo255f(float x) { return floor(x * 255.0f + 0.5f); }
struct PS_IN {
vec3 v_texcoord: TEXCOORD0;
vec4 v_color0: COLOR0;
};
vec4 main( PS_IN In ) : COLOR {
vec4 target;
vec4 v_color0 = In.v_color0;
vec3 v_texcoord = In.v_texcoord;
vec4 t = tex2D(tex, v_texcoord.xy).bgra;
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
if (v.a < 0.002) DISCARD;
target = v;
return target;
}
|
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2023-03-05 |
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 |
Resistance: Retribution™ |
v1.12 |
2023-02-24 |
D3D error in shader compilation: info: C:\Users\vic20\Documents\psp\Shader@0x0E7DCC40(77,16-55): error X4505: maximum temp register index exceeded
C:\Users\vic20\Documents\psp\Shader@0x0E7DCC40(77,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
Out.v_color0 = clamp(lightSum0, 0.0, 1.0);
Out.v_color1 = clamp(lightSum1, 0.0, 1.0);
Out |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.10.3 |
2023-02-23 |
D3D error in shader compilation: info: C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(122,12-71): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(144,16-57): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(144,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.10.3 |
2023-02-23 |
D3D error in shader compilation: info: C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x10D28068(158,27): error X5615: Compiled shader code uses too many instruction slots (257). Max. allowed by the target (vs_2_0) is 256.
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * In.color0 + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * In.color0.rgb) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * In.color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * In.color0.rgb) * max(ldot, 0.0);
if (ldot >= 0. |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.10.3 |
2023-02-23 |
D3D error in shader compilation: info: C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x110E5D50(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x110E5D50(122,12-71): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x110E5D50(144,16-57): error X4505: maximum temp register index exceeded
C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x110E5D50(144,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.10.3 |
2023-02-23 |
D3D error in shader compilation: info: C:\Users\Smith\OneDrive\Desktop\Carpeta de Juegos\ppsspp-1-10-3\Shader@0x110E5D50(158,27): error X5615: Compiled shader code uses too many instruction slots (257). Max. allowed by the target (vs_2_0) is 256.
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * In.color0 + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * In.color0.rgb) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * In.color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * In.color0.rgb) * max(ldot, 0.0);
if (ldot >= 0. |
God of War®: Ghost of Sparta |
v1.14.4 |
2023-02-13 |
D3D error in shader compilation: info: error X3501: 'main': entrypoint not found
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define uvec3 uint3
#define uvec4 uint4
#define ivec2 int2
#define ivec3 int3
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) float3(x, x, x)
#define mix lerp
#define lowp
#define mediump
#define highp
#define fract frac
#define mod(x, y) fmod(x, y)
#define DISCARD clip(-1)
#define DISCARD_BELOW(x) clip(x)
// 02180000:00800382 Tex 2x TClampST TFuncMod TexArray
|
God of War®: Ghost of Sparta |
v1.14.4 |
2023-02-13 |
D3D error in shader compilation: info: error X3501: 'main': entrypoint not found
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define uvec3 uint3
#define uvec4 uint4
#define ivec2 int2
#define ivec3 int3
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) float3(x, x, x)
#define mix lerp
#define lowp
#define mediump
#define highp
#define fract frac
#define mod(x, y) fmod(x, y)
#define DISCARD clip(-1)
#define DISCARD_BELOW(x) clip(x)
// 02180000:00400b8e Tex TexProj LM TClampST TFuncRepl TexArray
|
God of War®: Ghost of Sparta |
v1.14.4 |
2023-02-13 |
D3D error in shader compilation: info: error X3501: 'main': entrypoint not found
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define uvec3 uint3
#define uvec4 uint4
#define ivec2 int2
#define ivec3 int3
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) float3(x, x, x)
#define mix lerp
#define lowp
#define mediump
#define highp
#define fract frac
#define mod(x, y) fmod(x, y)
#define DISCARD clip(-1)
#define DISCARD_BELOW(x) clip(x)
// 02180000:00000382 Tex TClampST TFuncMod TexArray
|
God of War®: Ghost of Sparta |
v1.14.4 |
2023-02-13 |
D3D error in shader compilation: info: error X3501: 'main': entrypoint not found
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define uvec3 uint3
#define uvec4 uint4
#define ivec2 int2
#define ivec3 int3
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) float3(x, x, x)
#define mix lerp
#define lowp
#define mediump
#define highp
#define fract frac
#define mod(x, y) fmod(x, y)
#define DISCARD clip(-1)
#define DISCARD_BELOW(x) clip(x)
// 02180000:00200000 Fog TexArray
|
God of War®: Ghost of Sparta |
v1.14.4 |
2023-02-13 |
D3D error in shader compilation: info: error X3501: 'main': entrypoint not found
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define uvec3 uint3
#define uvec4 uint4
#define ivec2 int2
#define ivec3 int3
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) float3(x, x, x)
#define mix lerp
#define lowp
#define mediump
#define highp
#define fract frac
#define mod(x, y) fmod(x, y)
#define DISCARD clip(-1)
#define DISCARD_BELOW(x) clip(x)
// 02180000:00000000 TexArray
|
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.13.1 |
2022-12-28 |
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 |
Innocent Life: A Futuristic Harvest Moon® |
v1.8.0 |
2022-12-16 |
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 |
Rock Band Unplugged™ |
v1.13.2 |
2022-12-03 |
D3D error in shader compilation: info: C:\Games\PPSSPP\Shader@0x0000025538E3ACE0(137,16-55): error X4505: maximum temp register index exceeded
C:\Games\PPSSPP\Shader@0x0000025538E3ACE0(137,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat2 float2x2
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_depthRange : register(c52);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCo |
Dragon Ball Z Shin Budokai |
v1.10.3 |
2022-11-28 |
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 |
eFootball PES 2021 T. Bendezu "C19" |
v1.11.3 |
2022-11-05 |
D3D error in shader compilation: info: out of memory during compilation
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define uvec3 uint3
#define uvec4 uint4
#define ivec3 int3
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) float3(x, x, x)
#define mix lerp
#define lowp
#define mediump
#define highp
#define mod(x, y) fmod(x, y)
#define DISCARD clip(-1)
#define DISCARD_BELOW(x) clip(x)
sampler tex : register(s0);
vec4 u_alphacolorref : register(c1);
vec4 u_alphacolormask : register(c2);
float roundAndScaleTo255f(float x) { return floor(x * 255.0f + 0.5f); }
struct PS_IN {
vec3 v_texcoord: TEXCOORD0;
vec4 v_color0: COLOR0;
};
vec4 main( PS_IN In ) : COLOR {
vec4 target;
vec4 v_color0 = In.v_color0;
vec3 v_texcoord = In.v_texcoord;
vec4 t = tex2D(tex, v_texcoord.xy).bgra;
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
if (v.a < 0.002) DISCARD;
target = v;
return target;
}
|
Grand Theft Auto: Chinatown Wars |
v1.13.2 |
2022-10-21 |
D3D error in shader compilation: info: D:\360????????????\ppsspp\Shader@0x1170D978(102,16-55): error X4505: maximum temp register index exceeded
D:\360????????????\ppsspp\Shader@0x1170D978(102,12-69): error X4505: maximum temp register index exceeded
D:\360????????????\ppsspp\Shader@0x1170D978(146,16-55): error X4505: maximum temp register index exceeded
D:\360????????????\ppsspp\Shader@0x1170D978(146,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat2 float2x2
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_depthRange : register(c52);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
} |
Grand Theft Auto: Chinatown Wars |
v1.13.2 |
2022-10-21 |
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 |
Disney•Pixar Cars 2 |
v1.12.3 |
2022-09-21 |
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. |
Disney•Pixar Cars 2 |
v1.12.3 |
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. |
Dragon Ball Z Shin Budokai |
v1.10.3 |
2022-09-09 |
D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x13C7AD10(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) |
ドラゴンボールZ 真武道会2 |
v1.10.3 |
2022-09-09 |
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) |
Dragon Ball Z Shin Budokai |
v1.10.3 |
2022-09-05 |
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) |
Grand Theft Auto: Chinatown Wars |
v1.11.3 |
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 |
Dragon Ball Z Shin Budokai |
v1.10.3 |
2022-09-04 |
D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x08497F20(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) |
牧場物語 シュガー村とみんなの願い |
v1.4.2-425-g7a7ccee5e |
2022-08-29 |
D3D error in shader compilation: info: C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: Possible intrinsic functions are:
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: mul(float, float)
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: mul(float, floatK)
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: mul(float, floatLxK)
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: mul(floatM, float)
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: mul(floatM, floatM)
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: mul(floatM, floatMxK)
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: mul(floatNxM, float)
C:\Documents and Settings\Administrator\My Documents\5funGameHall\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatM)
C:\Documents and Settings\Administrator\My Documents\5funGameHall\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;
}
|
牧場物語 シュガー村とみんなの願い |
v1.4.2-425-g7a7ccee5e |
2022-08-29 |
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;
}
|
Disney•Pixar Cars 2 |
v1.13.1 |
2022-08-24 |
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) {
|
Dragon Ball Z Shin Budokai |
v1.10.3 |
2022-08-22 |
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) |
Dragon Ball Z Shin Budokai |
v1.10.3 |
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) |
Dragon Ball Z Shin Budokai |
v1.10.3 |
2022-08-19 |
D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x12A98D10(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[6] = tess_data[index].pos;
index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[7] = tess_data[index].pos;
index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x) |
Tales of Destiny2 |
v1.4.2-425-g7a7ccee5e |
2022-08-16 |
D3D error in shader compilation: info: E:\baidu download\5funGameHall\memory(14,55): error X3004: undeclared identifier 'u_proj_through'
E:\baidu download\5funGameHall\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters
E:\baidu download\5funGameHall\memory(14,21): error X3013: Possible intrinsic functions are:
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(float, float)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(float, floatK)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(float, floatLxK)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatM, float)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatM, floatM)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatM, floatMxK)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatNxM, float)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatM)
E:\baidu download\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatMxK)
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
struct VS_IN {
float4 position : POSITION;
float4 color0 : COLOR0;
};
struct VS_OUT {
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
Out.v_color0 = In.color0;
Out.gl_Position = mul(float4(In.position.xyz, 1.0), u_proj_through);
return Out;
}
|
Dragon Ball Z Shin Budokai |
v1.10.3 |
2022-08-15 |
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) |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-06-12 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000ECC7680(102,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000ECC7680(102,12-69): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000ECC7680(146,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000ECC7680(146,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
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_lig |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-06-12 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000ECC7680(99,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000ECC7680(99,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
|
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-06-12 |
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 |
THE KING OF FIGHTERS '96 |
v1.10.3 |
2022-06-05 |
D3D error in shader compilation: info: E:\ppsspp\Shader@0x0000000007626EC0(88,40-48): error X3018: invalid subscript 'normal'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = tess_data[index].pos;
_tex[5] = tess_da |
THE KING OF FIGHTERS '96 |
v1.10.3 |
2022-06-05 |
D3D error in shader compilation: info: E:\ppsspp\Shader@0x0000000007626EC0(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z) * 3;
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[5] = te |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-06-05 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000F3BF270(102,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000F3BF270(102,12-69): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000F3BF270(146,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000F3BF270(146,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
toLight = u_lightpos0;
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_lig |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-06-04 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000EDA3EB0(97,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000EDA3EB0(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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-06-03 |
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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-06-02 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000F7F1270(97,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000F7F1270(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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-06-01 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000E8820E0(97,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000E8820E0(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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-05-31 |
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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-05-21 |
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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-05-21 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000F627140(97,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000F627140(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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-05-20 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000E615270(97,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000E615270(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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-05-20 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000E6A22A0(97,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000E6A22A0(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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2022-05-17 |
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000FE0C2A0(100,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000FE0C2A0(100,12-69): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000FE0C2A0(144,16-55): error X4505: maximum temp register index exceeded
F:\PPSSPP\Shader@0x000000000FE0C2A0(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 |
Death, Jr. |
v1.10.3 |
2022-05-17 |
D3D error in shader compilation: info: E:\PSP\Shader@0x000001F9008B0080(98,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float2 u_fogcoef : register(c18);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float v_fogdepth: TEXCOORD1;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
float3 nrm;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = |
TNA iMPACT!: Cross the Line |
v1.10.3 |
2022-05-15 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000175F0A36080(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_p |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.10.3 |
2022-05-15 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000175F0A36080(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_p |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2022-05-11 |
D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0D63C7E8(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0D63C7E8(122,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ld |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.3 |
2022-04-09 |
D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0ECD1930(122,16-57): error X4505: maximum temp register index exceeded
C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0ECD1930(122,12-71): error X4505: maximum temp register index exceeded
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float3 u_lightpos0 : register(c24);
float3 u_lightatt0 : register(c32);
float3 u_lightdir0 : register(c28);
float4 u_lightangle_spotCoef0 : register(c36);
float3 u_lightambient0 : register(c48);
float3 u_lightdiffuse0 : register(c40);
float3 u_lightspecular0 : register(c44);
float3 u_lightpos1 : register(c25);
float3 u_lightatt1 : register(c33);
float3 u_lightdir1 : register(c29);
float4 u_lightangle_spotCoef1 : register(c37);
float3 u_lightambient1 : register(c49);
float3 u_lightdiffuse1 : register(c41);
float3 u_lightspecular1 : register(c45);
float3 u_lightpos2 : register(c26);
float3 u_lightatt2 : register(c34);
float3 u_lightdir2 : register(c30);
float4 u_lightangle_spotCoef2 : register(c38);
float3 u_lightambient2 : register(c50);
float3 u_lightdiffuse2 : register(c42);
float3 u_lightspecular2 : register(c46);
float3 u_lightpos3 : register(c27);
float3 u_lightatt3 : register(c35);
float3 u_lightdir3 : register(c31);
float4 u_lightangle_spotCoef3 : register(c39);
float3 u_lightambient3 : register(c51);
float3 u_lightdiffuse3 : register(c43);
float3 u_lightspecular3 : register(c47);
float4 u_ambient : register(c19);
float3 u_matdiffuse : register(c21);
float4 u_matspecular : register(c22);
float3 u_matemissive : register(c23);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float3 v_color1 : COLOR1;
float4 gl_Position : POSITION;
};
VS_OUT main(VS_IN In) {
VS_OUT Out;
float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world);
float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world));
float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0);
float4 outPos = mul(viewPos, u_proj);
float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0);
float3 lightSum1 = 0;
float3 toLight;
float3 diffuse;
float distance;
float lightScale;
float ldot;
float angle;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a == 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ld |