More than one deferred composite (unity 5)

Hi

Is there any trick to have more than one ‘Internal-DeferredShading.shader’ shaders bound (unity5) ?
In short:
My game have two separate views (two cameras), those two renders different subsets of scene, and each of them needs different composition pass (one photorealistic, one toon-sketch-like) for now I see no way to specify ‘Internal-DeferredShading.shader’ per camera, it’s only in project settings - so currently I have ugly hacks there, something like this:
if (_DeferredCompositeMode == 1.0)
r = BRDF1_Unity_PBS(…)
else
r = Custom_PBS(…)

and so on …
and I use Shader.SetGlobal* to set params
this is not very optimal IMHO :expressionless:

My first thought is shader keywords, they can be set globally, work kinda like an if-statment, but have no performance impact.
Ofc you might need to set the keyword utilizing a command buffer or some such, because the rendering is threaded, so you couldn’t otherwise guarantee the keywords being changed inbetween cameras?

But I do understand your frustration, for me the similarity is that the scene camera turns off HDR if there are 2 other HDR cameras on…!