Simply my problem is that on NVIDIA cards, my openGL stuff works perfectly, on AMD cards it seems to completely jump the geometry shader. In my geo shader I had it so it adds an extra point to triangles to form a quad which is outputted as a trianglestrip. On AMD cards that extra point never happens, but the fragment shader still works fine as all the textures are still the correct colours for the triangles.
I have checked that the shader compiles with absolutely no errors.
Also my shader version is:
#version 330 core
I hoping this is a common problem because I can't find a single thing on Google about it.
#version 330 core
layout(triangles) in;
layout(triangle_strip, max_vertices=4) out;
in vec3 texCoord[];
out vec3 texCord;
uniform mat4 MVP;
void main()
{
texCord = vec3(0,0,0);
for(int i=0; i<3; i++)
{
gl_Position =MVP * gl_in[i].gl_Position;
switch(i)
{
case 0: texCord = vec3(0,1,0);
break;
case 1: texCord = vec3(0,0,0);
break;
case 2: texCord = vec3(1,1,0);
break;
}
EmitVertex();
}
gl_Position =MVP * vec4(gl_in[0].gl_Position.x += 0.5, gl_in[0].gl_Position.y -= 0.5, gl_in[0].gl_Position.z, gl_in[0].gl_Position.w);
texCord = vec3(1,0,0);
EmitVertex();
EndPrimitive();
}