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

Distinct message texts 1-100, 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\5funGameHall\memory(14,55): error X3004: undeclared identifier 'u_proj_through' C:\Program Files\5funGameHall\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters C:\Program Files\5funGameHall\memory(14,21): error X3013: Possible intrinsic functions are: C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(float, float) C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(float, floatK) C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(float, floatLxK) C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatM, float) C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatM, floatM) C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatM, floatMxK) C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatNxM, float) C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatM) C:\Program Files\5funGameHall\memory(14,21): error X3013: mul(floatNxM, floatMxK) / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); struct VS_IN { float4 position : POSITION; float4 color0 : COLOR0; }; struct VS_OUT { float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; Out.v_color0 = In.color0; Out.gl_Position = mul(float4(In.position.xyz, 1.0), u_proj_through); return Out; } 4 4 422 2024-08-22
D3D error in shader compilation: info: C:\Documents and Settings\Administrator\memory(14,55): error X3004: undeclared identifier 'u_proj_through' C:\Documents and Settings\Administrator\memory(14,21): error X3013: 'mul': intrinsic function does not take 2 parameters C:\Documents and Settings\Administrator\memory(14,21): error X3013: Possible intrinsic functions are: C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(float, float) C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(float, floatK) C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(float, floatLxK) C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatM, float) C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatM, floatM) C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatM, floatMxK) C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatNxM, float) C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatNxM, floatM) C:\Documents and Settings\Administrator\memory(14,21): error X3013: mul(floatNxM, floatMxK) / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); struct VS_IN { float4 position : POSITION; float4 color0 : COLOR0; }; struct VS_OUT { float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; Out.v_color0 = In.color0; Out.gl_Position = mul(float4(In.position.xyz, 1.0), u_proj_through); return Out; } 3 3 283 2023-08-06
D3D error in shader compilation: info: C:\Program Files\PPSSPP\memory(133,10): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\memory(133,10): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangl 2 2 267 2019-07-15
D3D error in shader compilation: info: (101): error X4004: program too complex; there are more active values than registers / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * In.color0 + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * In.color0.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * In.color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt2, float3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_light 2 2 148 2020-09-02
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000002BDBA0BB1D0(140,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000002BDBA0BB1D0(140,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightan 1 1 99 2023-03-17
D3D error in shader compilation: info: D:\360????????????\ppsspp\Shader@0x11D19540(101,16-55): error X4505: maximum temp register index exceeded D:\360????????????\ppsspp\Shader@0x11D19540(101,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat2 float2x2 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec2 u_fogcoef : register(c18); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_depthRange : register(c52); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(no 1 1 99 2022-10-21
D3D error in shader compilation: info: C:\Users\MARCIN\Desktop\Shader@0x10066D18(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; _col[4] = tess_data[index].col; index = 1 1 99 2021-10-05
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x0000021FCEB86820(137,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x0000021FCEB86820(137,12-69): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x0000021FCEB86820(159,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x0000021FCEB86820(159,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0. 2 2 99 2021-08-07
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x11142CC8(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 99 2021-07-04
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0D11DCB8(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 99 2021-06-17
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F242CB8(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 99 2021-06-16
D3D error in shader compilation: info: D:\programy\PPSSPP\Shader@0x000000DB37DC8220(132,16-55): error X4505: maximum temp register index exceeded D:\programy\PPSSPP\Shader@0x000000DB37DC8220(132,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec2 u_fogcoef : register(c18); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 1 1 99 2021-04-21
D3D error in shader compilation: info: C:\Users\pc\Downloads\PPSSPP\PPSSPP\Shader@0x000001B9BF07C230(137,16-55): error X4505: maximum temp register index exceeded C:\Users\pc\Downloads\PPSSPP\PPSSPP\Shader@0x000001B9BF07C230(137,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, dis 2 2 99 2021-04-20
D3D error in shader compilation: info: C:\Users\USER\Desktop\ppsspp_win\Shader@0x06D5F340(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; _col[4] = tess_data[index].col; ind 1 1 99 2020-10-15
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x06058C70(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 99 2020-08-12
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x10590DC8(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 99 2020-08-11
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x13B09B78(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 99 2020-08-11
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C427C88(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 99 2020-08-10
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C4E7CE0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 99 2020-08-10
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F58BBC0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 99 2020-08-09
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000002A2BE6A1210(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; _col[4] = tess_data[index].col; inde 1 1 99 2020-08-04
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F7C8050(140,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0F7C8050(140,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) 1 1 98 2024-07-19
D3D error in shader compilation: info: C:\Users\Miana\OneDrive\?rea de Trabalho\ppsspp_win\Shader@0x000001BE99AE5710(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] 1 1 98 2023-12-05
D3D error in shader compilation: info: C:\Users\Miana\OneDrive\?rea de Trabalho\ppsspp_win\Shader@0x000001BE9002BD60(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] 1 1 98 2023-12-05
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001DBA4A8F240(140,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000001DBA4A8F240(140,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightan 1 1 98 2023-03-06
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000200B533D220(140,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x00000200B533D220(140,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightan 1 1 98 2023-03-06
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001F8B1DBE6B0(140,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000001F8B1DBE6B0(140,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightan 1 1 98 2023-03-05
D3D error in shader compilation: info: C:\Users\agusss\Desktop\ppsspp_win\Shader@0x000000000ECEAD60(142,16-55): error X4505: maximum temp register index exceeded C:\Users\agusss\Desktop\ppsspp_win\Shader@0x000000000ECEAD60(142,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat2 float2x2 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_depthRange : register(c52); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1 1 1 98 2022-12-28
D3D error in shader compilation: info: E:\EMULATERS\ppsspp gold\memory(135,10): error X4505: maximum temp register index exceeded E:\EMULATERS\ppsspp gold\memory(135,10): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 1 1 98 2022-12-16
D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x114EAD10(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x) 1 1 98 2022-09-09
D3D error in shader compilation: info: C:\Windows\system32\Shader@0x0BEC5088(137,16-55): error X4505: maximum temp register index exceeded C:\Windows\system32\Shader@0x0BEC5088(137,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_light 1 1 98 2022-03-28
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x0000023F5AA67030(137,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x0000023F5AA67030(137,12-69): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x0000023F5AA67030(159,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x0000023F5AA67030(159,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0. 1 1 98 2021-08-08
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000001362E5D0090(137,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000001362E5D0090(137,12-69): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000001362E5D0090(159,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000001362E5D0090(159,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0. 1 1 98 2021-08-07
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C967D78(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 98 2021-07-01
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0AA6ACB8(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 98 2021-06-17
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0FB3AF50(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 98 2021-06-17
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x10158D28(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 98 2021-06-16
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0E9EDD18(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 98 2021-04-11
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C092D50(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 98 2021-04-11
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001A321C3B110(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; i 1 1 98 2021-03-17
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001FEE3F5B0E0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; i 1 1 98 2021-03-04
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001DE986C88B0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; i 1 1 98 2021-01-02
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000238519FFE10(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _col[4] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _col[5] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_co 2 2 98 2020-12-26
D3D error in shader compilation: info: D:\Applications\Other Games\PSP Emulator (PPSSPP)\Shader@0x000001DBAB23B2D0(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; _col[4] 1 1 98 2020-12-24
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000000B817D11D0(122,16-57): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0000000B817D11D0(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(norm 1 1 98 2020-12-14
D3D error in shader compilation: info: C:\Users\Adriana de jesus\Documents\PPSSPP\Shader@0x0000021226277CE0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_d 1 1 98 2020-11-26
D3D error in shader compilation: info: E:\psp console\Shader@0x0000020361AF3010(100,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_ambient : register(c19); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; float3 nrm; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[inde 1 1 98 2020-11-09
D3D error in shader compilation: info: F:\Pastas\PPSSPPGold v1.10.3\Shader@0x11572148(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; inde 1 1 98 2020-10-12
D3D error in shader compilation: info: C:\Users\ryuha\Downloads\ppsspp_win\Shader@0x00000219332BDE90(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[ind 1 1 98 2020-09-20
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000002A9726B070(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; i 1 1 98 2020-09-17
D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x00000000026FE0D0(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x00000000026FE0D0(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse 1 1 98 2020-06-12
D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000278B160(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000278B160(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse 1 1 98 2020-06-11
D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000C62E9E0(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000C62E9E0(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse 1 1 98 2020-06-11
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C394160(140,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0C394160(140,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) 1 1 97 2024-07-19
D3D error in shader compilation: info: D:\Games\Emulators\Playstation portable\PPSSPP\Shader@0x000000B723586690(85,16-55): error X4505: maximum temp register index exceeded D:\Games\Emulators\Playstation portable\PPSSPP\Shader@0x000000B723586690(85,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1. 1 1 97 2022-09-21
D3D error in shader compilation: info: D:\Games\Emulators\Playstation portable\PPSSPP\Shader@0x000000B71D5D9020(85,16-55): error X4505: maximum temp register index exceeded D:\Games\Emulators\Playstation portable\PPSSPP\Shader@0x000000B71D5D9020(85,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1. 1 1 97 2022-09-21
D3D error in shader compilation: info: E:\Games\Emulation\PPSSPP\Shader@0x0000023E85574670(87,16-55): error X4505: maximum temp register index exceeded E:\Games\Emulation\PPSSPP\Shader@0x0000023E85574670(87,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat2 float2x2 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_depthRange : register(c52); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { 1 1 97 2022-08-24
D3D error in shader compilation: info: C:\games\emulator\ps\psp\1.PPSSPP\Shader@0x0CDD6940(123,16-55): error X4505: maximum temp register index exceeded C:\games\emulator\ps\psp\1.PPSSPP\Shader@0x0CDD6940(123,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(t 1 1 97 2021-11-04
D3D error in shader compilation: info: C:\Games\Emulators\Sony\PSP\Shader@0x000001DE2706C680(113,16-57): error X4505: maximum temp register index exceeded C:\Games\Emulators\Sony\PSP\Shader@0x000001DE2706C680(113,12-71): error X4505: maximum temp register index exceeded C:\Games\Emulators\Sony\PSP\Shader@0x000001DE2706C680(135,16-57): error X4505: maximum temp register index exceeded C:\Games\Emulators\Sony\PSP\Shader@0x000001DE2706C680(135,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular. 1 1 97 2021-10-13
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000018A7761D220(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; i 1 1 97 2021-02-28
D3D error in shader compilation: info: C:\Users\luizt\OneDrive\?rea de Trabalho\PSP Capit?o capcom\Shader@0x0000014F6F3DC780(96,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4x3 u_tex : register(c14); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spli 1 1 96 2024-10-24
D3D error in shader compilation: info: D:\Juegos\Emuladores\PPSSPP\Shader@0x10704D20(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _tex[5] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; _tex[6] 1 1 96 2024-10-20
D3D error in shader compilation: info: C:\Users\luizt\OneDrive\?rea de Trabalho\PSP Capit?o capcom\Shader@0x0000028FE34A9680(96,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4x3 u_tex : register(c14); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spli 1 1 96 2024-09-18
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000000CA00960(137,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x000000000CA00960(137,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance 1 1 96 2021-11-01
D3D error in shader compilation: info: C:\Users\username\Documents\Emulators\Shader@0x000001C4E65A0060(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; _col[4] = tess_data[inde 1 1 96 2021-08-14
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000000000BD481E0(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; _col[4] = tess_data[index].col; inde 1 1 96 2020-10-28
D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0E347D08(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0E347D08(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ld 1 1 95 2025-03-14
D3D error in shader compilation: info: C:\PSP Capit?o capcom\Shader@0x000001B29F19FFD0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; _tex[5] = tess_data[index].tex; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; _tex[ 1 1 95 2024-01-14
D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x133EB558(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x133EB558(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ld 1 1 95 2023-08-17
D3D error in shader compilation: info: C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0F5B0048(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Administrator.COM-20200124KXW\Desktop\??\PPSSPP\Shader@0x0F5B0048(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ld 1 1 95 2022-04-08
D3D error in shader compilation: info: C:\Users\WONGE DEWEK\Documents\ppsspp\Shader@0x000000AA77868AA0(85,16-55): error X4505: maximum temp register index exceeded C:\Users\WONGE DEWEK\Documents\ppsspp\Shader@0x000000AA77868AA0(85,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { 3 3 95 2022-03-31
D3D error in shader compilation: info: C:\Users\Familia Arrieta\Downloads\PPSSPP\Shader@0x0000016272B88250(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Familia Arrieta\Downloads\PPSSPP\Shader@0x0000016272B88250(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if 1 1 95 2021-11-14
D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000AF6FD10(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000AF6FD10(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse 1 1 94 2020-07-29
D3D error in shader compilation: info: C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000BB89D20(122,16-57): error X4505: maximum temp register index exceeded C:\Users\Administrator.TMFOGSCCT1FEWPV\Desktop\psp\ppsspp_win\Shader@0x000000000BB89D20(122,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightatt0 : register(c32); float3 u_lightdir0 : register(c28); float4 u_lightangle_spotCoef0 : register(c36); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse 1 1 94 2020-06-26
D3D error in shader compilation: info: G:\Grand Theft Auto??Liberty city stories\Shader@0x0A04E048(133,16-57): error X4505: maximum temp register index exceeded G:\Grand Theft Auto??Liberty city stories\Shader@0x0A04E048(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : 1 1 94 2020-04-02
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C233950(140,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x0C233950(140,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightatt0 : register(c32); vec3 u_lightdir0 : register(c28); vec4 u_lightangle_spotCoef0 : register(c36); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) 1 1 93 2024-07-20
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0000017A462F34F0(97,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float2 u_fogcoef : register(c18); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float v_fogdepth: TEXCOORD1; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z); int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; _tex[0] = tess_data[index].tex; _col[0] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; _tex[1] = tess_data[index].tex; _col[1] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; _tex[2] = tess_data[index].tex; _col[2] = tess_data[index].col; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; _tex[3] = tess_data[index].tex; _col[3] = tess_data[index].col; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; _tex[4] = tess_data[index].tex; _col[4] = tess_data[index].col; inde 1 1 93 2020-09-14
D3D error in shader compilation: info: C:\Users\Gustavo Camacho\Desktop\PSP\Shader@0x0C2F7CA8(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos 1 1 92 2022-11-28
D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x13000048(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x) 1 1 92 2022-09-05
D3D error in shader compilation: info: D:\Game\Simulator\PPSSPP\Shader@0x00000235151281E0(123,16-55): error X4505: maximum temp register index exceeded D:\Game\Simulator\PPSSPP\Shader@0x00000235151281E0(123,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toL 1 1 92 2022-09-05
D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x0AFCF850(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x) 1 1 92 2022-08-22
D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x058E2EC8(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x) 1 1 92 2022-08-22
D3D error in shader compilation: info: C:\RomStation\app\emulators\downloads\PPSSPP\files\PPSSPP 1.10.3 (x86)\Shader@0x0D629C98(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x) 1 1 92 2022-08-15
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000EC7F270(100,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000000000EC7F270(100,12-69): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000000000EC7F270(144,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000000000EC7F270(144,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightatt3 : register(c35); vec3 u_lightdir3 : register(c31); vec4 u_lightangle_spotCoef3 : register(c39); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; t 1 1 92 2022-06-12
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000ED41A70(97,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000000000ED41A70(97,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distanc 1 1 92 2022-06-03
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000FCA0080(97,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000000000FCA0080(97,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distanc 1 1 92 2022-05-31
D3D error in shader compilation: info: F:\PPSSPP\Shader@0x000000000EB43AB0(97,16-55): error X4505: maximum temp register index exceeded F:\PPSSPP\Shader@0x000000000EB43AB0(97,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; vec4 gl_Position : POSITION; }; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distanc 1 1 92 2022-05-21
D3D error in shader compilation: info: C:\Users\yoney\Desktop\ppsspp_win\Shader@0x00000216564C5250(133,16-57): error X4505: maximum temp register index exceeded C:\Users\yoney\Desktop\ppsspp_win\Shader@0x00000216564C5250(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : 1 1 92 2021-06-12
D3D error in shader compilation: info: C:\Users\yoney\Desktop\ppsspp_win\Shader@0x000002063CB5E080(133,16-57): error X4505: maximum temp register index exceeded C:\Users\yoney\Desktop\ppsspp_win\Shader@0x000002063CB5E080(133,12-71): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : 1 1 92 2021-06-08
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x089C6040(125,16-55): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\Shader@0x089C6040(125,12-69): error X4505: maximum temp register index exceeded / code: #define vec2 float2 #define vec3 float3 #define vec4 float4 #define ivec2 int2 #define ivec4 int4 #define mat4 float4x4 #define mat3x4 float4x3 #define splat3(x) vec3(x, x, x) #define lowp #define mediump #define highp #pragma warning( disable : 3571 ) mat4 u_proj : register(c0); vec2 u_fogcoef : register(c18); vec4 u_matambientalpha : register(c20); mat3x4 u_world : register(c11); mat3x4 u_view : register(c8); vec4 u_uvscaleoffset : register(c17); vec3 u_lightpos0 : register(c24); vec3 u_lightambient0 : register(c48); vec3 u_lightdiffuse0 : register(c40); vec3 u_lightspecular0 : register(c44); vec3 u_lightpos1 : register(c25); vec3 u_lightatt1 : register(c33); vec3 u_lightdir1 : register(c29); vec4 u_lightangle_spotCoef1 : register(c37); vec3 u_lightambient1 : register(c49); vec3 u_lightdiffuse1 : register(c41); vec3 u_lightspecular1 : register(c45); vec3 u_lightpos2 : register(c26); vec3 u_lightatt2 : register(c34); vec3 u_lightdir2 : register(c30); vec4 u_lightangle_spotCoef2 : register(c38); vec3 u_lightambient2 : register(c50); vec3 u_lightdiffuse2 : register(c42); vec3 u_lightspecular2 : register(c46); vec3 u_lightpos3 : register(c27); vec3 u_lightambient3 : register(c51); vec3 u_lightdiffuse3 : register(c43); vec3 u_lightspecular3 : register(c47); vec4 u_ambient : register(c19); vec3 u_matdiffuse : register(c21); vec4 u_matspecular : register(c22); vec3 u_matemissive : register(c23); vec4 u_cullRangeMin : register(c80); vec4 u_cullRangeMax : register(c81); struct VS_IN { vec2 texcoord : TEXCOORD0; vec3 normal : NORMAL; vec3 position : POSITION; }; struct VS_OUT { vec3 v_texcoord : TEXCOORD0; vec4 v_color0 : COLOR0; vec3 v_color1 : COLOR1; float v_fogdepth: TEXCOORD1; vec4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; vec2 texcoord = In.texcoord; vec3 normal = In.normal; vec3 position = In.position; vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_ 2 2 92 2021-03-29
D3D error in shader compilation: info: C:\Users\Zully\Desktop\Shader@0x000000EA61EF52C0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; in 1 1 92 2020-12-08
D3D error in shader compilation: info: C:\Users\Zully\Desktop\Shader@0x0000003BB5575080(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; in 1 1 92 2020-11-14
D3D error in shader compilation: info: D:\PSP\Emulador de PSP\Shader@0x16998308(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = (2 1 1 92 2020-10-22
D3D error in shader compilation: info: D:\PSP\Emulador de PSP\Shader@0x0C55A378(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = (2 1 1 92 2020-10-22
D3D error in shader compilation: info: C:\Users\Zully\Desktop\Shader@0x000000A2EC2BE270(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; in 1 1 92 2020-10-03
D3D error in shader compilation: info: C:\Users\Zully\Desktop\Shader@0x000000DD45B9A260(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; in 1 1 92 2020-10-03
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x000001AEFF7AB6F0(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; i 1 1 92 2020-08-27
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000212F254B230(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; i 1 1 92 2020-08-26
D3D error in shader compilation: info: C:\Users\usuario\Downloads\ppsspp-1-10-3\Shader@0x0ED6CF00(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index] 1 1 92 2020-08-22
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x104249C8(95,31-45): error X3004: undeclared identifier 'u_spline_counts' / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float4 color0 : COLOR0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float4 gl_Position : POSITION; }; float2 tess_sample(in float2 points[16], float4x4 weights) { float2 pos = float2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float3 tess_sample(in float3 points[16], float4x4 weights) { float3 pos = float3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4 tess_sample(in float4 points[16], float4x4 weights) { float4 pos = float4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } float4x4 outerProduct(float4 u, float4 v) { return mul((float4x1)v, (float1x4)u); } struct Tess { float3 pos; float2 tex; float4 col; }; void tessellate(in VS_IN In, out Tess tess) { int2 point_pos = int2(In.position.z, In.normal.z) * 3; int2 weight_idx = int2(In.position.xy); float3 _pos[16]; float2 _tex[16]; float4 _col[16]; int index; index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[0] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[1] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[2] = tess_data[index].pos; index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[3] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[4] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x); _pos[5] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (2 + point_pos.x); _pos[6] = tess_data[index].pos; index = (1 + point_pos.y) * u_spline_counts + (3 + point_pos.x); _pos[7] = tess_data[index].pos; index = (2 + point_pos.y) * u_spline_counts + (0 + point_pos.x); _pos[8] = tess_data[index].pos; index = ( 1 1 92 2020-08-12

Next »