This PR clean the error code detection of legacy shader that was drawing
in every pass
It fix an issue with Prepass that was not always correctly handled with
forward only
It clean the code to avoid redundant call of forward pass
It reduce memory allocation by precomputing shader pass name