Hi, guys been running Dolphin for a while with no probs but have come across a strange one today, if I change the ingame view I get the Pixel Shader Error, I've tried with OpenGL and Direct3D9 and keep getting the error, all the other games I have run are fine, I checked the compat of the game and it should be ok, i'm running an AMD FX8320 cpu and GTX660 gfx card 8gb ram etc all other games run fine, would appreciate and help, here's the error report:-
//Pixel Shader for TEV stages
//2 TEV stages, 1 texgens, XXX IND stages
uniform sampler2D samp0 : register(s0), samp1 : register(s1), samp2 : register(s2), samp3 : register(s3), samp4 : register(s4), samp5 : register(s5), samp6 : register(s6), samp7 : register(s7);
uniform float4 color[4] : register(c0);
uniform float4 k[4] : register(c4);
uniform float4 alphaRef[1] : register(c8);
uniform float4 texdim[8] : register(c9);
uniform float4 czbias[2] : register(c17);
uniform float4 cindscale[2] : register(c19);
uniform float4 cindmtx[6] : register(c21);
uniform float4 cfog[3] : register(c27);
void main(
out float4 ocol0 : COLOR0,
out float depth : DEPTH,
in float4 rawpos : WPOS,
in float4 colors_0 : COLOR0,
in float4 colors_1 : COLOR1,
in float3 uv0 : TEXCOORD0,
in float4 clipPos : TEXCOORD1 ) {
float4 c0 = color[1], c1 = color[2], c2 = color[3], prev = float4(0.0f, 0.0f, 0.0f, 0.0f), textemp = float4(0.0f, 0.0f, 0.0f, 0.0f), rastemp = float4(0.0f, 0.0f, 0.0f, 0.0f), konsttemp = float4(0.0f, 0.0f, 0.0f, 0.0f);
float3 comp16 = float3(1.0f, 255.0f, 0.0f), comp24 = float3(1.0f, 255.0f, 255.0f*255.0f);
float4 alphabump=float4(0.0f,0.0f,0.0f,0.0f);
float3 tevcoord=float3(0.0f, 0.0f, 0.0f);
float2 wrappedcoord=float2(0.0f,0.0f), tempcoord=float2(0.0f,0.0f);
float4 cc0=float4(0.0f,0.0f,0.0f,0.0f), cc1=float4(0.0f,0.0f,0.0f,0.0f);
float4 cc2=float4(0.0f,0.0f,0.0f,0.0f), cprev=float4(0.0f,0.0f,0.0f,0.0f);
float4 crastemp=float4(0.0f,0.0f,0.0f,0.0f),ckonsttemp=float4(0.0f,0.0f,0.0f,0.0f);
clipPos = float4(rawpos.x, rawpos.y, clipPos.z, clipPos.w);
uv0.xy = uv0.xy * texdim[0].zw;
// TEV stage 0
rastemp = colors_0.rgba;
crastemp = frac(rastemp * (255.0f/256.0f)) * (256.0f/255.0f);
tevcoord.xy = uv0.xy;
textemp=tex2D(samp0,tevcoord.xy * texdim[0].xy).rgba;
// color combine
prev.rgb = saturate(2.0f*((textemp.rgb)*(crastemp.rgb)));
// alpha combine
prev.a = saturate(textemp.a+float4(0.0f, 0.0f, 0.0f, 0.0f).a);
// TEV done
// TEV stage 1
rastemp = colors_0.rgba;
crastemp = frac(rastemp * (255.0f/256.0f)) * (256.0f/255.0f);
textemp = float4(1.0f, 1.0f, 1.0f, 1.0f);
konsttemp = float4(k[0].rgb, ERROR9);
ckonsttemp = frac(konsttemp * (255.0f/256.0f)) * (256.0f/255.0f);
// color combine
prev.rgb = saturate((prev.rgb)+(ckonsttemp.rgb)*(crastemp.aaa));
// alpha combine
prev.a = saturate(prev.a+ckonsttemp.a*crastemp.a);
// TEV done
float zCoord = czbias[1].x + (clipPos.z / clipPos.w) * czbias[1].y;
depth = zCoord;
float ze = cfog[1].x / (cfog[1].y - (zCoord / cfog[1].w));
float fog = saturate(ze - cfog[1].z);
prev.rgb = lerp(prev.rgb,cfog[0].rgb,fog);
ocol0 = prev;
}
Thanks all
//Pixel Shader for TEV stages
//2 TEV stages, 1 texgens, XXX IND stages
uniform sampler2D samp0 : register(s0), samp1 : register(s1), samp2 : register(s2), samp3 : register(s3), samp4 : register(s4), samp5 : register(s5), samp6 : register(s6), samp7 : register(s7);
uniform float4 color[4] : register(c0);
uniform float4 k[4] : register(c4);
uniform float4 alphaRef[1] : register(c8);
uniform float4 texdim[8] : register(c9);
uniform float4 czbias[2] : register(c17);
uniform float4 cindscale[2] : register(c19);
uniform float4 cindmtx[6] : register(c21);
uniform float4 cfog[3] : register(c27);
void main(
out float4 ocol0 : COLOR0,
out float depth : DEPTH,
in float4 rawpos : WPOS,
in float4 colors_0 : COLOR0,
in float4 colors_1 : COLOR1,
in float3 uv0 : TEXCOORD0,
in float4 clipPos : TEXCOORD1 ) {
float4 c0 = color[1], c1 = color[2], c2 = color[3], prev = float4(0.0f, 0.0f, 0.0f, 0.0f), textemp = float4(0.0f, 0.0f, 0.0f, 0.0f), rastemp = float4(0.0f, 0.0f, 0.0f, 0.0f), konsttemp = float4(0.0f, 0.0f, 0.0f, 0.0f);
float3 comp16 = float3(1.0f, 255.0f, 0.0f), comp24 = float3(1.0f, 255.0f, 255.0f*255.0f);
float4 alphabump=float4(0.0f,0.0f,0.0f,0.0f);
float3 tevcoord=float3(0.0f, 0.0f, 0.0f);
float2 wrappedcoord=float2(0.0f,0.0f), tempcoord=float2(0.0f,0.0f);
float4 cc0=float4(0.0f,0.0f,0.0f,0.0f), cc1=float4(0.0f,0.0f,0.0f,0.0f);
float4 cc2=float4(0.0f,0.0f,0.0f,0.0f), cprev=float4(0.0f,0.0f,0.0f,0.0f);
float4 crastemp=float4(0.0f,0.0f,0.0f,0.0f),ckonsttemp=float4(0.0f,0.0f,0.0f,0.0f);
clipPos = float4(rawpos.x, rawpos.y, clipPos.z, clipPos.w);
uv0.xy = uv0.xy * texdim[0].zw;
// TEV stage 0
rastemp = colors_0.rgba;
crastemp = frac(rastemp * (255.0f/256.0f)) * (256.0f/255.0f);
tevcoord.xy = uv0.xy;
textemp=tex2D(samp0,tevcoord.xy * texdim[0].xy).rgba;
// color combine
prev.rgb = saturate(2.0f*((textemp.rgb)*(crastemp.rgb)));
// alpha combine
prev.a = saturate(textemp.a+float4(0.0f, 0.0f, 0.0f, 0.0f).a);
// TEV done
// TEV stage 1
rastemp = colors_0.rgba;
crastemp = frac(rastemp * (255.0f/256.0f)) * (256.0f/255.0f);
textemp = float4(1.0f, 1.0f, 1.0f, 1.0f);
konsttemp = float4(k[0].rgb, ERROR9);
ckonsttemp = frac(konsttemp * (255.0f/256.0f)) * (256.0f/255.0f);
// color combine
prev.rgb = saturate((prev.rgb)+(ckonsttemp.rgb)*(crastemp.aaa));
// alpha combine
prev.a = saturate(prev.a+ckonsttemp.a*crastemp.a);
// TEV done
float zCoord = czbias[1].x + (clipPos.z / clipPos.w) * czbias[1].y;
depth = zCoord;
float ze = cfog[1].x / (cfog[1].y - (zCoord / cfog[1].w));
float fog = saturate(ze - cfog[1].z);
prev.rgb = lerp(prev.rgb,cfog[0].rgb,fog);
ocol0 = prev;
}
Thanks all