Surface Shader Face Position

Is it possible to get the position of the face of a vertex in a surface shader? Like the centre position of the three vertices in a face. Or is it possible to get neighbour vertices and compute the face like so?

Found a possible solution. Calculate the face pos in script and pass them to the shader through the exta UVs.