Dolphin, the GameCube and Wii emulator - Forums

Full Version: Help!! Failed to compile pixel shader!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Huganti

Hello recently i have been trying to play the latest dolphin-emu on my laptop acer aspire-5333 and im very worried because it start ok but when the opening video start the window give me an error:

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.

What i have to do? please help me, i really really want to play D':


this is what dump says:

#version 120




#define ATTRIN attribute
#define ATTROUT attribute
#define VARYIN varying
#define VARYOUT varying
#define float2 vec2
#define float3 vec3
#define float4 vec4
#define frac fract
#define lerp mix
#define texture texture2D
#define round(x) floor((x)+0.5f)
#define out
#define ocol0 gl_FragColor
#define ocol1 gl_FragColor
#define COLOROUT(name)
#extension GL_ARB_texture_rectangle : enable


uniform float4 color[2] ;
#define samp0 samp9
uniform sampler2DRect samp0;
out float4 ocol0;
VARYIN float2 uv0;
void main()
{
float2 sampleUv;
float2 uv1 = floor(uv0);
float yl = floor(uv1.y / 4.000000);
float yb = yl * 4.000000;
float yoff = uv1.y - yb;
float xp = uv1.x + (yoff * color[1].x);
float xel = floor(xp / 2.0f);
float xb = floor(xel / 4.000000);
float xoff = xel - (xb * 4.000000);
float x2 = uv1.x * 2.0f;
float xl = floor(x2 / 4.000000);
float xib = x2 - (xl * 4.000000);
float halfxb = floor(xb / 2.0f);
sampleUv.x = xib + (halfxb * 4.000000);
sampleUv.y = yb + xoff;
sampleUv = sampleUv * color[0].xy;
sampleUv.y = color[1].y - sampleUv.y;
sampleUv = sampleUv + color[1].zw;
float cl1 = xb - (halfxb * 2.0f);
float cl0 = 1.0f - cl1;
float4 texSample;
float4 color0;
float4 color1;
texSample = texture2DRect(samp0, sampleUv + float2(0.0f * (color[0].x), 0.0f)).rgba;
color0.b = texSample.a;
color0.g = texSample.r;
color1.b = texSample.g;
color1.g = texSample.b;
texSample = texture2DRect(samp0, sampleUv + float2(1.0f * (color[0].x), 0.0f)).rgba;
color0.r = texSample.a;
color0.a = texSample.r;
color1.r = texSample.g;
color1.a = texSample.b;
ocol0 = (cl0 * color0) + (cl1 * color1);
}
0:27(9): error: `gl_FragColor' redeclared


Debug info (Intel Open Source Technology Center, Mesa DRI Intel® Ironlake Mobile , 2.1 Mesa 10.6.0-devel):
0:27(9): error: `gl_FragColor' redeclared
I see you have an Ironlake GPU, which is listed under this page as only having DirectX10 and OpenGL 2.1 support. The latest versions of Dolphin (either development builds or 5.0-RC) require either DirectX11 or OpenGL 3.3 support. However, if you continue using 4.0.2, you might be able to run the DirectX9 backend under Windows.

Huganti

(08-04-2015, 06:03 AM)OatmealDome Wrote: [ -> ]I see you have an Ironlake GPU, which is listed under this page as only having DirectX10 and OpenGL 2.1 support. The latest versions of Dolphin (either development builds or 5.0-RC) require either DirectX11 or OpenGL 3.3 support. However, if you continue using 4.0.2, you might be able to run the DirectX9 backend under Windows.

so, what do you think i have to do? install windows? dolphin will run ok there?
Your only option is to install Windows and run Dolphin 4.0.2 (or the unoffical Ishiiruka build over in "Development Discussion". Note that support for that build is limited to that specific thread only) with the DirectX9 backend. That should work, but I can't say anything about the performance that you'll get.
DirectX 11 backend should work with DX10-only GPUs but a little slower. So, switch to Windows and get the latest development versions instead of the old and slow 4.0.2.

PS: be aware that since your Intel GPU supports only DX10 it would probably be slow for the majority of the games since it's too old, however, lightweight ones should run fine...