“Tout” devant un nom est employé comme adjectif. Dans ce cas il est donc variable et s’accorde en genre et nombre.
“Tout” est adverbe invariable lorsqu’il a le sens de “complètement”, “entièrement”.
Attention
Par euphonie, c'est à dire pour faciliter la prononciation, on accorde « tout » adverbe lorsqu’il est devant un adjectif féminin commençant par une consonne ou un h aspiré.