Weird shader behavior when porting to linux.

So I’m trying to port my game to linux and this lightning library that I use, Kripton XNA, is giving me a headache.

The problem is that my lights aren’t being drawn properly on the screen, the lightmap texture were suppose to be multiplied to the current render target, and it is, but in a really strange way.

I isolated the three textures in question trying to debug what is going on and here is the result.

The left screen is the linux port, running on monogame 3.5. And the right screen is the original game running on XNA 4.0 on Windows 10.

One thing I noticed its that the the whole texture is being multiplied only to the most far top right pixel color from the light texture:

Here are the isolated codes related to this problem:

	    public void DrawTextureToTarget (Texture2D texture, LightMapSize mapSize)
		float biasFactor = BiasFactorFromLightMapSize(mapSize);

		// Calculate the texel bias
		var texelBias = new Vector2 {
			X = biasFactor / graphicsDevice.ScissorRectangle.Width,
			Y = biasFactor / graphicsDevice.ScissorRectangle.Height,

		effect.CurrentTechnique = effect.Techniques["TextureToTarget_Multiply"];

		// Draw the quad
		foreach (var effectPass in effect.CurrentTechnique.Passes) {
			graphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleStrip, Unit.Quad, 0, 2);

And this is the technique it is trying to pass.

VertexPositionTexture VS_TextureNoTransform(VertexPositionTexture input)
    return input;

float4 PS_Texture(in float2 texCoord : TEXCOORD0) : COLOR0
    return tex2D(tex0, texCoord + TexelBias);

technique TextureToTarget_Add
    pass Pass1
	StencilEnable = False;

	BlendOp = Add;
	SrcBlend = One;
	DestBlend = One;

	AlphaBlendEnable = True;
	CullMode = CCW;

	VertexShader = compile vs_2_0 VS_TextureNoTransform();
	PixelShader = compile ps_2_0 PS_Texture();

As I’m not used to HLSL shaders I am completely lost here, but I hope this is enough data so anyone could help me.