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);
dxhr = dev->QueryInterface(__uuidof(ID3D11Device1), (void**)&dev1);
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.
ft_level is also still on
D3D_FEATURE_LEVEL_11_0 after fetching from ID3D11Device1.
Is there something I'm missing here ?
How can I use any of d3d11.1 level features? Does my driver/hardware even support the basic 11.1 features ? because some of them seems like driver only features.
I'm on windows7 SP1 (with the platform patch), Windows 8.0 sdk and Catalyst 13.9 drivers for my AMD 5950 card.
Hi, under Windows 7 Service Pack 1 with Platform Update you cannot use any D3D_FEATURE_LEVEL_11_1 and DXGI 1.2/WDDM 1.2 features.
This mean you can only use a limited set of Direct3D 11.1 under Windows 7 Service Pack 1 with Platform Update.
You can read more about here: Platform Update for Windows 7 (Windows)
PS: by the way you GFX Card (AMD Radeon 5950 series) does not support D3D_FEATURE_LEVEL_11_1.
Yes I'm aware of that.
I don't want hw specific features like new shader instructions or binding uav to any shaders,.. what I need is , some d3d11.1 api features that are likely currently exist in the driver implementations.
For example I need MapNoOverwriteOnDynamicConstantBuffer for my application, which the OpenGL equivalent (glMapBufferRange, glBindBufferRange) existed since v3.0. And when I call for example VSSetConstantBuffers1, Debug layer complains that "This current driver does not support constant buffer offsets".
And this is what says In the d3d documentation for VSSetConstantBuffers1: "This feature is always available on new drivers for feature level 10 and higher."
I also didn't manage to get them working, even on D3D 11.1 hardware. However, it was the same for NVIDIA. For using the D3D 11.1 API only features, I had to run Windows 8, on Windows 7, I would get the interface, but everything would be set to unsupported on Windows 7. If you look at the D3D11 Options documentation, it also explains that a few features are only available together, and given that the 5950 only supports D3D11.0, that could be part of the problem as well. Not sure if there is any driver shipping with those extensions. Did you try with WARP or the reference rasterizer and see if that works?