The implementation doesn't really do anything special, it essentially behaves as if OMSetRenderTargets was used instead, with discards, clears and resolves being performed as necessary. As a result, we keep exposing RENDER_PASS_TIER_0, which is equivalent to runtime emulation.
There's a few things tests don't cover:
Resolve parameter validation. There doesn't seem to be any, passing the wrong resource or passing null pointers for the subresource array can easily result in a crash.
NO_ACCESS behaviour for individual depth/stencil aspects. If e.g. depth is written and the stencil aspect is NO_ACCESS, it is still bound and can even be written in practice, but doing so is obviously invalid.
Title, basically.
The implementation doesn't really do anything special, it essentially behaves as if OMSetRenderTargets was used instead, with discards, clears and resolves being performed as necessary. As a result, we keep exposing
RENDER_PASS_TIER_0
, which is equivalent to runtime emulation.There's a few things tests don't cover:
NO_ACCESS
behaviour for individual depth/stencil aspects. If e.g. depth is written and the stencil aspect isNO_ACCESS
, it is still bound and can even be written in practice, but doing so is obviously invalid.