我需要一个参考,用于为DirectX 11查找DirectX 9实现中使用的等效错误代码,如下所示:
D3DERR_INVALIDDEVICE
D3DERR_DRIVERINVALIDCALL
D3DERR_TOOMANYOPERATIONS
D3DERR_DEVICELOST
D3DERR_DEVICENOTRESET
D3DERR_NOTAVAILABLE我发现winerror.h包含所有的DXGI错误代码,但在DiretcX 9中找不到上述错误的等效代码。请帮助我找到一个引用或wiki来找到一个等价的错误代码。
发布于 2019-02-21 01:24:38
基于DXGI的Direct3D版本没有“丢失设备”的场景,只有TDR和移除装置,因此D3DERR_DEVICELOST、D3DERR_DEVICENOTRESET、D3DERR_DRIVERINTERNALERROR和D3DERR_NOTAVAILABLE的情况永远不会发生在Direct3D 10或更高版本中。
正如在Microsoft上记录的那样,您将永远得不到D3DERR_DRIVERINVALIDCALL。
D3DERR_TOOMANYOPERATIONS、D3DERR_CONFLICTINGRENDERSTATE、D3DERR_CONFLICTINGTEXTUREFILTER等适用于不存在于Direct3D 10或更高版本的遗留固定函数管道。
这些较老的错误,如D3DERR_UNSUPPORTEDALPHAARG、D3DERR_UNSUPPORTEDALPHAOPERATION等,都与旧的遗留“大写位”相关,而这不是Direct3D 10或更高版本的管理方式。相反,它使用Direct3D硬件特征级。
在Direct3D9将返回D3DERR_INVALIDDEVICE的情况下,您现在可能得到了E_INVALIDARG。
你可能想看看这篇博客文章
https://stackoverflow.com/questions/54742874
复制相似问题