Dolphin, the GameCube and Wii emulator - Forums

Full Version: Error loading emulator
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

kprzy219

Hello,

The only game I am trying to play is Sonic Adventure 2 Battle. When I try to run the game I get this error:

Quote:Failed to compile pixel shader!
This usually happens when trying to use Dolphin with an
Outdated GPU
or integrated GPU like the Intel GMA series.

If you're sure this is Dolphin's error anyway, post the contents of
./User/Dump/Bad_ps_0004.txt along with this error message at the forums.

Debug info (ps_3_0):
(15): error X4555: invalid type used for 'VPOS' input semantics

Here are the specs of my computer:
Dell Studio Laptop running Windows Vista
Processor: Intel® Core™2 Duo CPU @ 2.4GHz
Memory: 3066MB RAM
Graphics: ATI Radeon (0x95C4) HD 3400 Series
I also have DirectX 10

As you can see from the error message, it says that it is not compiling the pixel shader. The 3400 series of the ATI has Pixel Shader 4.1 which I found out here. To me it seems like my computer is up to date and meets all the requirements for running the emulator/game. I'm not the best with computers and gathering this information has taken me quite a while. Anyone able to help?

As requested in the error message:
./User/Dump/Bad_ps_0004.txt
Quote://Pixel Shader for TEV stages
//1 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,
in float4 rawpos : VPOS,
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((textemp.rgb)*(crastemp.rgb));
// alpha combine
prev.a = saturate(textemp.a*crastemp.a);

// TEV done
prev.rgb = prev.rgb;
prev.a = prev.a;
prev = frac(4.0f + prev * (255.0f/256.0f)) * (256.0f/255.0f);
ocol0 = prev;
if(!( (prev.a >= alphaRef[0].r + (0.25f/255.0f)) && (true))) {
discard;
return;
}
}
Dolphin 3.0-678 and a few revisions after that have this issue when you have Per Pixel Lighting turned on.
Disable it, and it should work. The latest versions have fixed this issue.
Yeah, he's right.

Try another Dolphin revision, e.g. the Dolphin 3.0 release or the most recent dirty build (Here ya go -> http://www.dolphin-emu.org/download.html ) or disable Per-Pixel-Lighting.

kprzy219


Garteal,
Thank you for your help. I really appreciate it.