【问题标题】:DirectX11 project failing on Runtime - 0xCDCDCDCDDirectX11 项目在运行时失败 - 0xCDCDCDCD
【发布时间】:2016-01-06 18:57:28
【问题描述】:
for (UINT driverTypeIndex = 0; driverTypeIndex < numDriverTypes; driverTypeIndex++)
    {
        _driverType = driverTypes[driverTypeIndex];
        hr = D3D11CreateDeviceAndSwapChain(nullptr, _driverType, nullptr, createDeviceFlags, featureLevels, numFeatureLevels,
                                           D3D11_SDK_VERSION, &sd, &_pSwapChain, &_pd3dDevice, &_featureLevel, &_pImmediateContext);
        if (SUCCEEDED(hr))
            break;
    }

D3D11CreateDeviceSwapChain 向 hr 返回一个未成功的值,这导致我无法跳出 for 循环

hr 未能对项目的所有版本进行 for 循环/驱动程序检查,即使它只是在最后 1-2 次迭代中开始发生。

感谢任何帮助。

【问题讨论】:

  • 0xCDCDCDCD 通常表示您正在取消引用未初始化的指针。如果没有看到你的代码,这个问题就无法真正回答。
  • edit您的问题包含minimal reproducible example,以便我们可以实际重现问题。
  • @πάνταῥεῖ 错误只是因为 hr 没有成功而发生 - 我的问题依赖于 D3D11CreateDeviceSwapChain 成功。
  • 代码在另一个使用相同 VisualStudio 的系统上运行良好,所以我不确定是什么导致了这个问题

标签: c++ visual-studio directx directx-11


【解决方案1】:

您无法创建对于任何类型的工作(例如绘图)都是必需的设备和交换链。 看来您选择的驱动程序类型有问题

请在此处阅读有关驱动程序类型的详细信息What's the difference between WARP drivers,reference drivers and software drivers?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-10
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 2019-02-27
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    相关资源
    最近更新 更多