Messages by text - D3D error in shader compilation: info: %s / code: %s

Distinct message texts 101-200, most hits first. Games and Rows count where each text was seen; click a text for its games. Refreshed every 10 minutes. Back to the list by game

Only count reports from version or newer
Message # of games Rows Hits Latest Report
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) 1 1 91 2022-09-09
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 1 1 91 2022-05-17
D3D error in shader compilation: info: C:\Users\King Saad\Downloads\ppsspp_win\Shader@0x14D41CF8(108,16-57): error X4505: maximum temp register index exceeded C:\Users\King Saad\Downloads\ppsspp_win\Shader@0x14D41CF8(108,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightat 1 1 91 2021-03-12
D3D error in shader compilation: info: E:\PLAY GAMES\Nueva carpeta\Shader@0x0DF59CA0(108,16-57): error X4505: maximum temp register index exceeded E:\PLAY GAMES\Nueva carpeta\Shader@0x0DF59CA0(108,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distan 1 1 91 2020-11-30
D3D error in shader compilation: info: C:\Users\JOSE LUIS\Downloads\ppsspp_win\Shader@0x000000D8C3487BA0(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 1 1 91 2020-11-23
D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x10C76E50(108,16-57): error X4505: maximum temp register index exceeded C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x10C76E50(108,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u 1 1 91 2020-10-11
D3D error in shader compilation: info: C:\Users\Deznan\Desktop\psp\Shader@0x1073E4A8(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _tex[5] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; _te 2 2 91 2020-09-21
D3D error in shader compilation: info: C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x000002090F099710(133,16-57): error X4505: maximum temp register index exceeded C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x000002090F099710(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0. 1 1 91 2020-01-10
D3D error in shader compilation: info: C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x0000020E52CE4520(133,16-57): error X4505: maximum temp register index exceeded C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x0000020E52CE4520(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0. 1 1 91 2019-12-17
D3D error in shader compilation: info: C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x000001BB82FDEE30(133,16-57): error X4505: maximum temp register index exceeded C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x000001BB82FDEE30(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0. 1 1 91 2019-12-13
D3D error in shader compilation: info: C:\Users\King Saad\Downloads\ppsspp_win\Shader@0x16E4BCA8(109,16-57): error X4505: maximum temp register index exceeded C:\Users\King Saad\Downloads\ppsspp_win\Shader@0x16E4BCA8(109,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { li 1 1 90 2021-03-12
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000000A5CB240(110,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000000000A5CB240(110,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef 1 1 89 2020-11-11
D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FF72598(108,16-57): error X4505: maximum temp register index exceeded C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FF72598(108,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u 2 2 89 2020-10-12
D3D error in shader compilation: info: C:\Users\laar2\Desktop\ppsspp\Shader@0x000001AF05F29040(110,16-57): error X4505: maximum temp register index exceeded C:\Users\laar2\Desktop\ppsspp\Shader@0x000001AF05F29040(110,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightan 1 1 89 2020-09-19
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000016786A6F0A0(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; _col[4] = tess_data[index].col; inde 1 1 89 2020-09-15
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001E720322C80(74,14-28): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000001E720322C80(80,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000001E720322C80(80,12-69): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000001E720322C80(77,28-83): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000001E720322C80(77,65-81): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000001E720322C80(77,28-83): 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); mat3x4 u_texmtx : register(c14); 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_depthRange : register(c52); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec4 color0 : COLOR0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec4 color0 = In.color0; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ld 1 1 88 2026-06-10
D3D error in shader compilation: info: C:\Users\3dvan\Documents\PSP Capit?o capcom\Shader@0x000002B1C4219F50(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_ 1 1 88 2025-12-25
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F02A910(110,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0F02A910(110,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { light 1 1 88 2021-11-01
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x12A7ED10(126,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x12A7ED10(126,12-69): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x12A7ED10(148,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x12A7ED10(148,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_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; 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 { 2 2 88 2021-04-17
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0EDFDD48(123,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0EDFDD48(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(toLight); toLight / 1 1 88 2021-04-01
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 1 1 87 2023-02-24
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x1041B140(110,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x1041B140(110,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { light 1 1 87 2021-10-31
D3D error in shader compilation: info: G:\Grand Theft Auto??Liberty city stories\Shader@0x0A04E048(135,16-57): error X4505: maximum temp register index exceeded G:\Grand Theft Auto??Liberty city stories\Shader@0x0A04E048(135,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toL 1 1 87 2020-04-02
D3D error in shader compilation: info: F:\PSP\ppsspp_v1.9.3\Shader@0x0000016D3C4C0770(135,16-57): error X4505: maximum temp register index exceeded F:\PSP\ppsspp_v1.9.3\Shader@0x0000016D3C4C0770(135,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angl 1 1 87 2020-02-22
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0E279118(108,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0E279118(108,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distan 1 1 86 2021-10-31
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0EA0DCB8(123,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0EA0DCB8(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(toLight); toLight / 1 1 86 2021-04-10
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F20CCB8(94,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0F20CCB8(94,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; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef2.y <= 0.0 ? 1.0 : pow(angle, u_ 2 2 86 2021-03-31
D3D error in shader compilation: info: C:\Users\lenovo\Desktop\Shader@0x000002CEF50031E0(125,16-55): error X4505: maximum temp register index exceeded C:\Users\lenovo\Desktop\Shader@0x000002CEF50031E0(125,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec2 u_fogcoef : register(c18); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale 1 1 86 2021-02-27
D3D error in shader compilation: info: C:\Users\Deznan\Desktop\psp\Shader@0x10190448(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; _col[4] = tess_data[index].col; index = 1 1 86 2020-09-21
D3D error in shader compilation: info: C:\games\emulator\ps\psp\1.PPSSPP\Shader@0x0DA1A520(123,16-55): error X4505: maximum temp register index exceeded C:\games\emulator\ps\psp\1.PPSSPP\Shader@0x0DA1A520(123,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(t 1 1 85 2021-11-04
D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0F3F8D18(111,16-57): error X4505: maximum temp register index exceeded C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0F3F8D18(111,12-71): error X4505: maximum temp register index exceeded C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0F3F8D18(133,16-57): error X4505: maximum temp register index exceeded C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0F3F8D18(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } l 1 1 85 2020-10-16
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 1 1 83 2022-06-05
D3D error in shader compilation: info: D:\PPSSPP\Shader@0x0000022E64906F60(133,16-57): error X4505: maximum temp register index exceeded D:\PPSSPP\Shader@0x0000022E64906F60(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angl 1 1 83 2020-07-27
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 1 1 81 2022-06-04
D3D error in shader compilation: info: C:\Users\Familia Arrieta\Downloads\PPSSPP\Shader@0x0000025481813350(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Familia Arrieta\Downloads\PPSSPP\Shader@0x0000025481813350(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if 1 1 81 2021-11-11
D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0C84F0C8(108,16-57): error X4505: maximum temp register index exceeded C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0C84F0C8(108,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u 1 1 81 2020-10-11
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000462FD49090(122,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000000462FD49090(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(norm 1 1 81 2020-08-24
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C0B0520(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 80 2021-04-11
D3D error in shader compilation: info: E:\Game\PSP\ppsspp_win\Shader@0x000001FEE7A37FD0(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); 1 1 79 2020-09-26
D3D error in shader compilation: info: G:\Program Files (x86)\PPSSPP\Shader@0x000002820DB751D0(91,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[9] = tess_data[index].pos; index = (2 + poi 1 1 76 2020-11-23
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 1 1 75 2022-05-20
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x115C9C90(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 75 2020-08-11
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000000008685FD0(110,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0000000008685FD0(110,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef 2 2 74 2020-11-12
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 1 1 73 2023-04-06
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 1 1 73 2022-05-20
D3D error in shader compilation: info: (94): error X4004: program too complex; there are more active values than registers / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance 1 1 73 2019-02-03
D3D error in shader compilation: info: C:\Users\username\Documents\Emulators\Shader@0x000001DD72E52480(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _tex[5] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data 1 1 72 2021-08-21
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x1015ACB0(125,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x1015ACB0(125,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec2 u_fogcoef : register(c18); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_ 1 1 72 2021-04-14
D3D error in shader compilation: info: D:\psp\memory(59,10): error X4505: maximum temp register index exceeded D:\psp\memory(59,10): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); 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; Out.v_color0 = clamp(lightSum0, 0.0, 1.0); Out.v_color1 = clamp(lightSum1, 0.0, 1.0); Out.v_texcoord = float3(In.texcoord.xy * u_uvscaleoffset.xy, 0.0); Out.v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; float3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || pro 1 1 71 2019-07-05
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 1 1 70 2024-03-16
D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x13928510(108,16-57): error X4505: maximum temp register index exceeded C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x13928510(108,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u 2 2 70 2020-10-15
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000000008BC6FD0(110,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0000000008BC6FD0(110,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef 1 1 68 2020-11-12
D3D error in shader compilation: info: C:\Users\Familia Arrieta\Downloads\PPSSPP\Shader@0x000001E9A0891E10(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Familia Arrieta\Downloads\PPSSPP\Shader@0x000001E9A0891E10(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if 1 1 67 2021-11-10
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) 1 1 66 2022-09-04
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 1 1 66 2022-05-21
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000000975F2D0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _tex[5] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; 1 1 66 2021-02-06
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0EAC2AE0(133,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0EAC2AE0(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight) 1 1 66 2020-04-24
D3D error in shader compilation: info: (91): error X4004: program too complex; there are more active values than registers / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); 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; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLig 1 1 66 2020-04-11
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 1 1 65 2022-06-02
D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0C5CA148(110,16-57): error X4505: maximum temp register index exceeded C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0C5CA148(110,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle 1 1 65 2020-10-11
D3D error in shader compilation: info: (98): error X4004: program too complex; there are more active values than registers / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_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 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale 1 1 62 2019-07-20
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0EAA7020(123,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0EAA7020(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(toLight); toLight / 1 1 61 2021-04-27
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 1 1 60 2022-06-01
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000175324DCF10(93,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _col[4] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _col[5] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; _col[6] = tess_data[index].col; index = (1 + point_pos 1 1 60 2020-12-24
D3D error in shader compilation: info: C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FD6AF68(79,16-57): error X4505: maximum temp register index exceeded C:\Users\power lion\Downloads\ppsspp-1-10-3\Shader@0x0FD6AF68(79,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef2.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef2.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worl 1 1 58 2020-10-13
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. 1 1 57 2023-02-23
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 1 1 57 2022-06-05
D3D error in shader compilation: info: D:\ROMS&EMULATORS\EMU\ppsspp\memory(122,10): error X4505: maximum temp register index exceeded D:\ROMS&EMULATORS\EMU\ppsspp\memory(122,10): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1 1 1 57 2019-05-29
D3D error in shader compilation: info: C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x000001DE8166F1C0(133,16-57): error X4505: maximum temp register index exceeded C:\Users\HOME\Downloads\ppsspp_win (1)\Shader@0x000001DE8166F1C0(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0. 1 1 56 2020-01-15
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x14620CD8(133,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x14620CD8(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight) 1 1 55 2020-04-26
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000023A1133FC60(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _tex[5] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; 1 1 54 2020-09-14
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); 1 1 53 2023-07-19
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 1 1 51 2023-11-18
D3D error in shader compilation: info: C:\Users\Deznan\Desktop\psp\Shader@0x0C8A8EA8(101,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_ambient : register(c19); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; float3 nrm; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[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 1 1 51 2020-09-21
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x081C5EE0(133,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x081C5EE0(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight) 1 1 50 2020-04-27
D3D error in shader compilation: info: C:\Users\username\Documents\Emulators\Shader@0x000001FE7F6FF0D0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _tex[5] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data 1 1 49 2021-08-18
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000001FC2CDBBA10(137,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000001FC2CDBBA10(137,12-69): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000001FC2CDBBA10(159,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000001FC2CDBBA10(159,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0. 1 1 49 2021-08-07
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001AF2E15A080(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _col[4] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _col[5] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_co 1 1 49 2020-12-24
D3D error in shader compilation: info: C:\Users\asrie\Documents\PPSSPP\Shader@0x000002E13739F1D0(108,16-57): error X4505: maximum temp register index exceeded C:\Users\asrie\Documents\PPSSPP\Shader@0x000002E13739F1D0(108,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightat 1 1 48 2025-10-31
D3D error in shader compilation: info: C:\Users\username\Documents\Emulators\Shader@0x000001D412202070(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _tex[5] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data 1 1 48 2021-08-18
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x10CCB4F0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 48 2021-02-13
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000004EACE58580(122,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0000004EACE58580(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(norm 1 1 48 2020-08-26
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000A3C8278390(122,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000000A3C8278390(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(norm 1 1 48 2020-08-25
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x08533478(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 47 2021-02-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 1 1 46 2022-06-12
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F0EED00(133,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0F0EED00(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight) 1 1 45 2020-04-27
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 1 1 44 2024-03-16
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) { 1 1 44 2022-06-12
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F93ECA8(123,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0F93ECA8(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(toLight); toLight / 1 1 44 2021-05-17
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0BD1AD78(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 44 2021-04-11
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; } 2 2 43 2020-10-23
D3D error in shader compilation: info: E:\games\Tekken 6 - (Www.ApunKaGames.Net)\ppsspp64\Shader@0x0D77BD58(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_d 1 1 42 2020-11-16
D3D error in shader compilation: info: C:\Users\jhe\Downloads\PPSSPPWindowsGold (2)\Shader@0x0CF1E500(122,16-57): error X4505: maximum temp register index exceeded C:\Users\jhe\Downloads\PPSSPPWindowsGold (2)\Shader@0x0CF1E500(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 1 1 42 2020-01-15
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 1 1 41 2023-11-22
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; } 4 4 38 2026-03-24
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) 1 1 38 2024-07-21
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 1 1 38 2023-11-19
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 1 1 38 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 1 1 38 2023-11-18
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 1 1 37 2023-11-20

« Previous   Next »