alphaTest
{
	mtlAlphaTest == Always && mtlBlendOp == Add && mtlSrcBlend == SrcAlpha && mtlDestBlend == InvSrcAlpha:
	mtlAlphaTest == Always && mtlBlendOp == Add && mtlSrcBlend == SrcAlpha && mtlDestBlend == One:
		GT0;
	default:
		passthrough;
}

blendFunc
{
	default:
		passthrough;
}

separateAlphaBlendFunc
{
	mtlBlendOp == Disable:
		Disable, One, Zero; // Confirmed
	// somecondition:
	//	Disable, Zero, Zero;
	// somecondition:
	//	Disable, Zero, DestAlpha;
	// somecondition:
	//	Disable, One, One;
	// somecondition:
	//	Disable, One, Zero;
	//default:
	//	Add, InvDestAlpha, One;
	default:
		passthrough;
}

cullFace
{
	default:
		passthrough;
}

depthTest
{
	default:
		Disable;
}

depthWrite
{
	default:
		Disable;
}

colorWrite
{
	// mtlPolygonOffset == 0:
	//	 Enable, Enable;
	// default:
	// 	 Enable, Enable;
	default:
		passthrough;
}

gammaWrite
{
	default:
		passthrough;
}

polygonOffset
{
	default:
		0;
}

stencil
{
	default:
		Disable,
		Always, Keep, Keep, Keep,
		Always, Keep, Keep, Keep;
}

wireframe
{
	default:
		Disable;
}
