0

我已成功创建 d3d11.1 设备及其上下文 (ID3D11Device1, ID3D11DeviceContext1)

使用文档中描述的方法:

dxhr = D3D11CreateDevice(adapter, D3D_DRIVER_TYPE_UNKNOWN, NULL, dev_flags,
    NULL, 0, D3D11_SDK_VERSION, &dev, &ft_level, &ctx);
ID3D11Device1* dev1;
dxhr = dev->QueryInterface(__uuidof(ID3D11Device1), (void**)&dev1);
dev->Release()
D3D_FEATURE_LEVEL ft_level = dev1->GetFeatureLevel()

d3d11.1 对象有效且有效,但我不能使用任何 d3d11.1 特定功能。以及CheckFeatureLevel(D3D11_FEATURE_D3D11_OPTIONS)Returns all FALSE 的结构。ft_level也是D3D_FEATURE_LEVEL_11_0从 ID3D11Device1 获取之后。

我在这里缺少什么吗?我在 windows7 SP1(带有平台补丁)、Windows 8.0 sdk 和我的 AMD 5950 卡的 Catalyst 13.9 驱动程序上。

4

2 回答 2

1

您可以通过安装适用于 Windows 7 的平台更新来获得部分 Direct3D 11.1 功能:http: //msdn.microsoft.com/en-us/library/windows/desktop/jj863687 (v=vs.85).aspx

您描述的行为非常好。您的硬件/驱动程序组合仅支持功能级别 11_0,这意味着您不能仅使用 11.1 功能。

于 2013-10-31T14:17:07.317 回答
0

D3D11.1 仅适用于 Windows 8。一些 DXGI 1.2 API 和 ID3DUserDefinedAnnotation 也是 Windows 7 上的端口,但大多数功能只是拒绝。

于 2013-10-27T18:30:29.350 回答