Per MSDN, Direct3DDevice::Clear() fails if the D3DCLEAR_ZBUFFER or D3DCLEAR_STENCIL flags are specified when the render target does not have an attached depth buffer (e.g. Software Renderer on DirectX 8).
We can provide flexibility to use the Software Renderer and DirectX Debug Runtime mode if the Cxbx emulator tracks the presence/absence of a depth buffer and modifies on the fly calls to Direct3DDevice::Clear() in titles.
DirectX Debug Runtime log
With the Software Renderer selected, the error report is as follows:
Direct3D8: (ERROR) :Invalid flag D3DCLEAR_STENCIL: no zbuffer is associated with device. Clear failed.
Per MSDN,
Direct3DDevice::Clear()
fails if theD3DCLEAR_ZBUFFER
orD3DCLEAR_STENCIL
flags are specified when the render target does not have an attached depth buffer (e.g. Software Renderer on DirectX 8).We can provide flexibility to use the Software Renderer and DirectX Debug Runtime mode if the Cxbx emulator tracks the presence/absence of a depth buffer and modifies on the fly calls to
Direct3DDevice::Clear()
in titles.DirectX Debug Runtime log
With the Software Renderer selected, the error report is as follows: