Dolphin, the GameCube and Wii emulator - Forums

Full Version: Pixel Shader error even though hardware is sufficient
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hello,
I'm encountering the error "Failed to compile pixel shader! This usually Happens when trying to use Dolphin with an outdated DPU or integrated GPU like the Intel GMA series" while playing Zelda Wind Waker and it requires pixel shader ver 2.0 or higher.
My specs are -
Intel i5 / 4GB RAM / ATI Radeon HD 7750 1GB DDR5 / Dolphin v3.5-367
When I searched online, most reponses to a similar problem was to upgrade video card. However, I just purcahsed the HD 7750 and it has a pixel shader v5.0.
Any help would be greatly appreciated.
Thank you!
Try using the latest version from the official site; we've moved recently, and the new downloads page is here: http://dolphin-emu.org/download/

Also, you might want to try disabling Per-Pixel Lighting; it was known to cause pixel shader errors in the past, though this may no longer be applicable.
(03-05-2013, 04:52 AM)dowonee Wrote: [ -> ]Hello,
I'm encountering the error "Failed to compile pixel shader! This usually Happens when trying to use Dolphin with an outdated DPU or integrated GPU like the Intel GMA series" while playing Zelda Wind Waker and it requires pixel shader ver 2.0 or higher.
My specs are -
Intel i5 / 4GB RAM / ATI Radeon HD 7750 1GB DDR5 / Dolphin v3.5-367
When I searched online, most reponses to a similar problem was to upgrade video card. However, I just purcahsed the HD 7750 and it has a pixel shader v5.0.
Any help would be greatly appreciated.
Thank you!
The error message does not only say that. It also says that if you have an error, you need to paste the exact error message and attach the shader file. Learn to read, please.
dowonee Wrote:while playing Zelda Wind Waker and it requires pixel shader ver 2.0 or higher.

Not that it matters but dolphin presently requires PS 3.0 not PS 2.0.
Thank you for the replies. I did not know that there was a newer version of Dolphin (v5.0). When I get home I'll give it a try as well as disabling "per-pixel lighting."
And yes, I remember reading the 2nd part of the error which said to paste the exact error message and attach the shader file. Not that I didn't read it, I was hoping that there might be a simple fix to it. If the above method doesn't work, I'll attach the shader file.
Again, thank you all for the replies Blush
(03-05-2013, 10:45 AM)dowonee Wrote: [ -> ]I did not know that there was a newer version of Dolphin (v5.0)

Where the hell did you see that Tongue ?
I think he meant 3.5
Hello,
Yes, I meant 3.5 Big Grin , sorry for the confusion.
The bad news is the new version nor the "per-pixel lighting" didn't fix the problem.
Here's the error report -
//Pixel Shader for TEV stages
//3 TEV stages, 2 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 float3 uv1 : TEXCOORD1,
in float4 clipPos : TEXCOORD2 ) {
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;
uv1.xy = uv1.xy * texdim[1].zw;
// TEV stage 0
tevcoord.xy = uv1.xy;
textemp=tex2D(samp1,tevcoord.xy * texdim[1].xy).rgba;
konsttemp = float4(k[0].rgb, k[0].a);
ckonsttemp = frac(konsttemp * (255.0f/256.0f)) * (256.0f/255.0f);
cc0 = frac(c0 * (255.0f/256.0f)) * (256.0f/255.0f);
// color combine
prev.rgb = saturate(lerp((cc0.rgb), (ckonsttemp.rgb), (textemp.rgb)));
// alpha combine
prev.a = saturate(float4(0.0f, 0.0f, 0.0f, 0.0f).a);
// TEV done
// TEV stage 1
textemp = float4(1.0f, 1.0f, 1.0f, 1.0f);
cprev = prev;
cc2 = frac(c2 * (255.0f/256.0f)) * (256.0f/255.0f);
// color combine
prev.rgb = saturate((cc2.rgb)*(cprev.rgb));
// alpha combine
prev.a = saturate(float4(0.0f, 0.0f, 0.0f, 0.0f).a);
// TEV done
// TEV stage 2
tevcoord.xy = uv0.xy;
textemp=tex2D(samp0,tevcoord.xy * texdim[0].xy).rgba;
konsttemp = float4(k[2].rgb, k[3].a);
ckonsttemp = frac(konsttemp * (255.0f/256.0f)) * (256.0f/255.0f);
// color combine
prev.rgb = saturate( (prev.rgb) + (((textemp.rgb).r >= float3(0.5f, 0.5f, 0.5f).r + (0.25f/255.0f)) ? (ckonsttemp.rgb) : float3(0.0f, 0.0f, 0.0f)));
// alpha combine
prev.a = saturate(konsttemp.a+float4(0.0f, 0.0f, 0.0f, 0.0f).a);
// TEV done
if(!( (prev.a > alphaRef[0].r - (0.25f/255.0f)) && (prev.a < alphaRef[0].g + (0.25f/255.0f)))) {
ocol0 = 0;
discard;
return;
}
float zCoord = czbias[1].x + (clipPos.z / clipPos.w) * czbias[1].y;
float ze = cfog[1].x / (cfog[1].y - (zCoord / cfog[1].w));
float x_adjust = (2.0f * (clipPos.x / cfog[2].y)) - 1.0f - cfog[2].x;
x_adjust = sqrt(x_adjust * x_adjust + cfog[2].z * cfog[2].z) / cfog[2].z;
ze *= x_adjust;
float fog = saturate(ze - cfog[1].z);
prev.rgb = lerp(prev.rgb,cfog[0].rgb,fog);
ocol0 = prev;
}

Any ideas?
Again, thank you all for the replies!
Oh, and I forgot to mention one more thing...

the GPU is now Nvidia Geforce GTX 650 DDR5 2GB.

I had changed out the GPU in case that was the issue... but it wasn't Sad

the error report I posted above is generated using the new video card (in case that makes any difference).

Thank you!
Have you installed latest Nvidia driver , Directx June 2010 , Visual C++ 2010 x86 & x64 yet ?
Pages: 1 2