Coordinate/attribute not working to mix textures through factor
Use the same method however, use vertex paint instead of weight. Use the Attribute Node and the name of the Vertex color layer (default is "Col"). For example, use pure black for rock and pure white vertex color for snow. 




Also, not sure what kind of displacement you're trying to achieve but you cannot use a Mix RGB node as input to the Displacement output which expects a vector. Use the Displacement node in between.