Shader protocol fix - using new branch
Same changes (almost) as in the problematic previous merge request, but with cleaner changes and no weird commits.
Same changes (almost) as in the problematic previous merge request, but with cleaner changes and no weird commits.