我已经成功创建了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)
的结构返回全部为FALSE。
从ID3D11Device1获取后,ft_level
也是D3D_FEATURE_LEVEL_11_0
。
这里有什么我想念的吗? 我使用的是用于AMD 5950卡的Windows7 SP1(带有平台补丁),Windows 8.0 sdk和Catalyst 13.9驱动程序。
答案 0 :(得分:1)
您可以通过安装适用于Windows 7的平台更新来获得部分Direct3D 11.1功能:http://msdn.microsoft.com/en-us/library/windows/desktop/jj863687(v=vs.85).aspx
你描述的行为完全没问题。您的硬件/驱动程序组合仅支持功能级别11_0,这意味着您不能仅使用11.1功能。
答案 1 :(得分:0)
D3D11.1仅适用于Windows 8。一些DXGI 1.2 API和ID3DUserDefinedAnnotation也在Windows 7上移植,但大多数功能只是说不。