ID:2018136
 
Hey there, I recently upgraded by PC to a more powerful graphics card (AMD R9 390X) and have updated the drivers, Byond, DirectX and others all to their latest versions, and I got (and am still getting) this issue - http://imgur.com/s1IF8pZ

For those who can't see it, it's an issue with the lighting.
The lighting uses color matrices. Having the top of the line AMD gpu, you'd think the shader would work, but there must be something else going on.
That's incredibly bizarre, since what you're showing suggests that the color of each vertex has been changed.

It looks as if the color matrix is being used by mistake as the four corners, rather than setting them properly. This is definitely a case of your graphics card misbehaving; the question is whether there's anything I can do to the shader to fix it.
This is the shader code:

texture MyTex: t0;
sampler2D gSampler = sampler_state {
texture = <MyTex>;
AddressU = Clamp;
AddressV = Clamp;
MipFilter = LINEAR;
MinFilter = LINEAR;
MagFilter = LINEAR;
};

float4x4 worldviewproj;
float4x4 mulMatrix = float4x4(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);
float4 addVector = float4(0,0,0,0);

struct ccVertexOut {
float4 Position : POSITION;
float2 TexCoord0 : TEXCOORD0;
};

ccVertexOut VS(
float4 Position : POSITION,
float2 TexCoord : TEXCOORD0)
{
ccVertexOut OUT = (ccVertexOut)0;
OUT.Position = mul(Position, worldviewproj);
OUT.TexCoord0 = TexCoord;
return OUT;
}

float4 PS(ccVertexOut IN) : COLOR0
{
float4 c;
c = tex2D(gSampler, IN.TexCoord0);
c = mul(c, mulMatrix) + addVector;
return c;
}

technique colorMatrix {
pass {
VertexShader = compile vs_2_0 VS();
PixelShader = compile ps_2_0 PS();
}
}

The shader is only used when a color matrix is present. For straight colors, the code falls back on regular sprite rendering.

One thing I would strongly recommend is contacting AMD and giving them both your screenshot and this shader code. It may point them to a bug in their drivers or even in the card itself.
He's not seeing the end result of the color matrix at all. Thats the icon without the color matrix applied.
It's not entirely unapplied, but it's certainly not applied properly.

Each corner of the source icon is its own color (red, green, blue, alpha); in fact, the entire purpose of this is doing what you described: using the color matrix to color each vertex individually.