The Rendering Hardware Interface (RHI) now supports asynchronous compute (AsyncCompute) for Xbox One. This is a good way to utilize unused GPU resources (Compute Units (CUs), registers and bandwidth),
by running dispatch() calls asynchronously with the rendering. Async compute uses a separate context, and we provide RHI functions to
synchronize the rendering and compute contexts.
Dr PIX is useful for identifying areas which might benefit from async compute. For example, if half the CUs are unused during a particular
rendering pass, those CUs could potentially be utilized by an asynchronous compute job.
Async compute has some restrictions:
Buffers with UAV counters are not supported (this is a limitation of the XDK, and will generate a D3D warning)
Async compute jobs do not show up in PIX GPU captures (although they do appear in Timing Captures)
PIX only captures the graphics immediate context (this is a platform limitation).
Automatic pipeline flushes are not provided by the driver. You need to explicitly call RHICSManualGpuFlush if flushes are needed
(e.g. if one dispatch is dependent on the previous one)