【问题标题】:DirectX 11 errors equivalent to DirectX 9DirectX 11 错误等同于 DirectX 9
【发布时间】:2019-02-18 08:11:37
【问题描述】:

我需要一个参考来查找 DirectX 9 实现中使用的 DirectX 11 的等效错误代码,如下所示:

D3DERR_INVALIDDEVICE
D3DERR_DRIVERINVALIDCALL
D3DERR_TOOMANYOPERATIONS
D3DERR_DEVICELOST
D3DERR_DEVICENOTRESET
D3DERR_NOTAVAILABLE

我发现 winerror.h 包含所有 DXGI 错误代码,但在 DiretcX 9 中找不到上述错误的等效代码。 请帮我查找参考资料或 wiki 以找到等效的错误代码。

【问题讨论】:

    标签: c++ directx-11 directx-9 dxgi


    【解决方案1】:

    基于 DXGI 的 Direct3D 版本没有“丢失设备”情况,只有 TDRdevice removed,因此 Direct3D 永远不会发生 D3DERR_DEVICELOSTD3DERR_DEVICENOTRESETD3DERR_DRIVERINTERNALERRORD3DERR_NOTAVAILABLE 情况10 或更高版本。

    Microsoft Docs 中所述,您永远不会收到 D3DERR_DRIVERINVALIDCALL

    D3DERR_TOOMANYOPERATIONSD3DERR_CONFLICTINGRENDERSTATED3DERR_CONFLICTINGTEXTUREFILTER 等适用于 Direct3D 10 或更高版本不存在的旧版固定功能管道。

    其中一些较旧的错误(如 D3DERR_UNSUPPORTEDALPHAARGD3DERR_UNSUPPORTEDALPHAOPERATION 等)与旧的旧版“caps bits”有关,这不是 Direct3D 10 或更高版本的管理方式。相反,它使用Direct3D hardware feature levels

    如果 Direct3D9 会返回 D3DERR_INVALIDDEVICE,您现在可能会得到 E_INVALIDARG

    你可能想看看this blog post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多