Reputation: 61
I have successfully created d3d11.1 device and it's context (ID3D11Device1, ID3D11DeviceContext1)
using the method described in documentation :
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()
The d3d11.1 objects are valid and working, but I can't use any d3d11.1 specific feature. and the structure for CheckFeatureLevel(D3D11_FEATURE_D3D11_OPTIONS)
Returns all FALSE.
The ft_level
is also D3D_FEATURE_LEVEL_11_0
after fetching from ID3D11Device1.
Is there something I'm missing here ? I'm on windows7 SP1 (with the platform patch), Windows 8.0 sdk and Catalyst 13.9 drivers for my AMD 5950 card.
Upvotes: 0
Views: 730
Reputation: 8142
You can get partial Direct3D 11.1 functionality by installing the Platform Update for Windows 7: http://msdn.microsoft.com/en-us/library/windows/desktop/jj863687(v=vs.85).aspx
The behavior you described is perfect fine. Your hardware/driver combination only supports feature level 11_0 which means you cannot use 11.1 only features.
Upvotes: 1
Reputation: 8824
D3D11.1 is windows 8 only. Some DXGI 1.2 API and the ID3DUserDefinedAnnotation were port on windows 7 too, but most of the functionality are just saying no.
Upvotes: 0