alphaTest { mtlAlphaTest == Always && mtlBlendOp == Add && mtlSrcBlend == SrcAlpha && mtlDestBlend == InvSrcAlpha: mtlAlphaTest == Always && mtlBlendOp == Add && mtlSrcBlend == SrcAlpha && mtlDestBlend == One: GT0; default: passthrough; } blendFunc { default: passthrough; } separateAlphaBlendFunc { default: Disable, One, Zero; } cullFace { default: passthrough; } depthTest { default: passthrough; } depthWrite { mtlSrcBlend == One && mtlDestBlend == Zero: Enable; default: Disable; } colorWrite { default: Enable, Enable; } gammaWrite { default: passthrough; } polygonOffset { default: passthrough; } stencil { default: passthrough; } wireframe { default: Disable; }