Use STENCIL_OP_INCR_SAT to count number of fragments writing
Duplicate up pixel modifications based on # frags
Add depth state that INCR_SATs stencil, tests eq & writes depth
Fetch per-frag post-modification & shader output values
Fetch primitive ID
Ensure proper refcounting (don't miss anything)
Fix stride calculation
Save and restore blend state when fetching shader output value
Set -2 when intra-fragment values are not available/fetched
Support for B8G8R8A8, R11G11B10 and R10G10B10A2
Make sure primitive ID value doesn't get blended
Copy post mod colour/depth immediately, not after intervening events
Use depth comparison from pipeline to get correct fragment post-mods

* The fragments now correctly pass/fail depth so you won't see inconsistent
  post-modification values. Precision will make this slightly incorrect
  potentially, as we use D32 instead of the native depth size (as we can't
  - D16 has no stencil version).
* Likewise this won't account for stencil failures per-fragment.
If depth/stencil is known to be unbound, don't mark it "unknown"
Change up pixel history UI to show individual fragments
Handle viewports correctly in pixel history
Get typed format before trying to do readback
Always SRGB correct colour for display