This patch refactors the ShaderNode class to be a concrete class that is implemented in terms of the node type gpu_fn. This is done to make it easier to reuse existing nodes in other parts of Blender. Pull Request: https://projects.blender.org/blender/blender/pulls/134210