Improve D3D11 predication handling, and track other asyncs independently

* Instead of replaying predication, we now always skip it during replay,
  so all objects will render. This is much more consistent and
  understandable behaviour instead of things mysteriously disappearing
  with no obvious reason why.
* We track the predication that would have happened and replay Begin/End
  pairs so that we can know if the predication *would* have failed.
* This is displayed in the UI (currently in the raster state, for lack
  of a better location) with the pass/fail that would have happened.
* This information can feed into other places for analysis like the
  pixel history.
This commit is contained in:
baldurk
2017-12-20 23:41:08 +00:00
parent 649e82b8ed
commit b070a371e2
15 changed files with 393 additions and 56 deletions
+2
View File
@@ -547,6 +547,8 @@ private:
s += tr("\nDepth test failed");
if(mod.stencilTestFailed)
s += tr("\nStencil test failed");
if(mod.predicationSkipped)
s += tr("\nPredicated rendering skipped");
return s;
}