Dolphin, the GameCube and Wii emulator - Forums

Full Version: Failed to compile vertex/pixel shader
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
So I have been playing Dolphin for about a year but ever since last week everytime I try to start a game a box pops and says "failed to compile vertex shader." Then, when I close the box another box appears and says "failed to compile pixel shader." Here is what error message says:

#version 130
#extension GL_ARB_uniform_buffer_object : enable


#extension GL_ARB_texture_multisample : enable
#define SAMPLER_BINDING(x)


#extension GL_ARB_sample_shading : enable










#define float2 vec2
#define float3 vec3
#define float4 vec4
#define uint2 uvec2
#define uint3 uvec3
#define uint4 uvec4
#define int2 ivec2
#define int3 ivec3
#define int4 ivec4
#define frac fract
#define lerp mix
//Pixel Shader for TEV stages
//1 TEV stages, 0 texgens, 0 IND stages
int idot(int3 x, int3 y)
{
int3 tmp = x * y;
return tmp.x + tmp.y + tmp.z;
}
int idot(int4 x, int4 y)
{
int4 tmp = x * y;
return tmp.x + tmp.y + tmp.z + tmp.w;
}

int iround(float x) { return int (round(x)); }
int2 iround(float2 x) { return int2(round(x)); }
int3 iround(float3 x) { return int3(round(x)); }
int4 iround(float4 x) { return int4(round(x)); }

int itrunc(float x) { return int (trunc(x)); }
int2 itrunc(float2 x) { return int2(trunc(x)); }
int3 itrunc(float3 x) { return int3(trunc(x)); }
int4 itrunc(float4 x) { return int4(trunc(x)); }

SAMPLER_BINDING(0) uniform sampler2DArray samp[8];

layout(std140, binding = 1) uniform PSBlock {
int4 color[4];
int4 k[4];
int4 alphaRef;
float4 texdim[8];
int4 czbias[2];
int4 cindscale[2];
int4 cindmtx[6];
int4 cfogcolor;
int4 cfogi;
float4 cfogf[2];
float4 czslope;
float4 cefbscale;
};
struct VS_OUTPUT {
float4 pos;
float4 colors_0;
float4 colors_1;
float4 clipPos;
};
out vec4 ocol0;
in VertexData {
float4 pos;
float4 colors_0;
float4 colors_1;
float4 clipPos;
};
void main()
{
float4 rawpos = gl_FragCoord;
int4 c0 = color[1], c1 = color[2], c2 = color[3], prev = color[0];
int4 rastemp = int4(0, 0, 0, 0), textemp = int4(0, 0, 0, 0), konsttemp = int4(0, 0, 0, 0);
int3 comp16 = int3(1, 256, 0), comp24 = int3(1, 256, 256*256);
int alphabump=0;
int3 tevcoord=int3(0, 0, 0);
int2 wrappedcoord=int2(0,0), tempcoord=int2(0,0);
int4 tevin_a=int4(0,0,0,0),tevin_b=int4(0,0,0,0),tevin_c=int4(0,0,0,0),tevin_d=int4(0,0,0,0);

float4 col0 = colors_0;
float4 col1 = colors_1;
int2 fixpoint_uv0 = int2(0, 0);


// TEV stage 0
rastemp = iround(col0 * 255.0).rgba;
textemp = int4(255, 255, 255, 255);
tevin_a = int4(int3(0,0,0), 0)&int4(255, 255, 255, 255);
tevin_b = int4(int3(0,0,0), 0)&int4(255, 255, 255, 255);
tevin_c = int4(int3(0,0,0), 0)&int4(255, 255, 255, 255);
tevin_d = int4(rastemp.rgb, rastemp.a);
// color combine
prev.rgb = clamp((((tevin_d.rgb)) + (((((tevin_a.rgb<<8) + (tevin_b.rgb-tevin_a.rgb)*(tevin_c.rgb+(tevin_c.rgb>>7)))) + 128)>>8)), int3(0,0,0), int3(255,255,255));
// alpha combine
prev.a = clamp((((tevin_d.a)) + (((((tevin_a.a<<8) + (tevin_b.a-tevin_a.a)*(tevin_c.a+(tevin_c.a>>7)))) + 128)>>8)), 0, 255);
prev = prev & 255;
if(!( (prev.a > alphaRef.r) && (prev.a > alphaRef.g))) {
ocol0 = float4(0.0, 0.0, 0.0, 0.0);
discard;
return;
}
int zCoord = int(rawpos.z * 16777216.0);
zCoord = clamp(zCoord, 0, 0xFFFFFF);
ocol0 = float4(prev) / 255.0;
}
ERROR: 1:26: 'std140' : syntax error syntax error




If anyone knows how to fix this I would extremely appreciate if you helped me out. Big Grin
Does this happen in the latest 5.0 dev builds?
I'm not sure about that but I am using 5.0
IF you go to the downloads page: https://dolphin-emu.org/download/ scroll down a bit and the dev builds will be shown. The most current as of this writing is 5.0-3362. Download it and extract to a new location (as in don't extract it to a folder where a current version of Dolphin is located)
Thanks for the help! Big Grin
Should I uninstall the previous one?
You can if you want. You don't have to
(04-15-2017, 05:11 AM)Nishmish Wrote: [ -> ]Thanks for the help! Big Grin

So it works in the development version? (This is useful for us to know in case someone else has the same problem in the future.)

(04-15-2017, 05:13 AM)Nishmish Wrote: [ -> ]Should I uninstall the previous one?

You can do it if you want to, but you don't have to.
(04-15-2017, 05:18 AM)JosJuice Wrote: [ -> ]So it works in the development version? (This is useful for us to know in case someone else has the same problem in the future.)

After trying, the messages still kept showing up but the sound for the game came.
I was using 5.0 stable
Pages: 1 2