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

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

« Previous   Next »