Highest D3D_FEATURE_LEVEL is 9.3 on an 11-compatible machine

I am currently reading Frank Luna's Introduction to 3D Game Programming with DirectX 11 and just reached the part where I load my first shader.

After linking to the respective libraries to compile the shaders, I had to switch to the VS 2010 toolbox, so my app was not trying to use the Windows 8.1 libraries (including DirectX, so it was conflicting with my June SDK directory).

I got everything to compile just now, however my call to the D3D11CreateDevice function now keeps D3D_FEATURE_LEVEL_9_3 as my highest supported feature level. This has not been done before. I have confirmed on my dxdiag.exe that my system can support 11. I have also confirmed this in the NVidia control panel where it indicates the DirectX Runtime version as 11_0.

From what I've read from other people who have had similar problems, it is that their default video adapter was their main video adapter. However, I only have one adapter, so my GTX 670 should be my main adapter, right?

My Environment: Visual Studio 2013 (using VS 2010 Toolkit) Graphics Card: GEFORCE GTX 670M (dx11 enabled) ASUS G75V NOTEBOOK Windows 7 64-bit

Regardless, here is my request to check the function level.

// Create Direct3D Device
HRESULT hr = D3D11CreateDevice(
    0,
    D3D_DRIVER_TYPE_HARDWARE,
    0,
    createDeviceFlags,
    0, 0,
    D3D11_SDK_VERSION,
    &m_d3dDevice,
    &featureLevel,
    &m_d3dImmediateContext);

if (FAILED(hr)) {
    throw Error("Direct3D Device Creation Failed!");
}

// Check feature level
if (featureLevel != D3D_FEATURE_LEVEL_11_0) {
    throw Error("Direct3D Feature Level 11 not supported!");
}

      

Debugging the feature level

Any contribution to what happens is appreciated. Direct3D is a whole new world for me, so please walk through in peace.

+3


source to share


1 answer


I had the same problem on Windows 8.1 with an ATI Radeon 6xxx graphics card. Caps viewer reported level 11_2 while D3D11CreateDevice returned device with 9_3 max.



Finally, I found that I installed the DirectX SDK in June 2010. Uninstalling fixed the issue.

+2


source







All Articles