Workaround fxc compiler bug in d3dcompiler_43 by avoiding flow control

* Old method gave:

error X8000: D3D11 Internal Compiler Error: Invalid Bytecode: Instructions
calculating derivatives across pixels, and using temp storage or indexed
values for input coordinates, are not permitted within flow control that
has a branch condition that could vary across pixels. Opcode 53 (count is
1-based).

* It seemed related to taking ddx() of things like SV_CullDistance inside
  the if(), so I refactored to not branch, and instead just avoid the
  InterlockedAdd only and when not a hit it will just write to an ignored
  element at the end of the UAV.
Markers don't increment drawcall ID, use eventID for prev/next/parent