locked
Problem running default DirectXApplication

    Question

  • Hello community!

     

    Sorry if this information is listed somewhere, but I couldn't find anything.  I created a default DirectX Application for C++, and when I run it on my laptop, I get a crash:

     

    Unhandled exception in d3d11_1sdklayers.dll

     

    My question is, are there any specific requirements for my developer machine?  I am using a laptop that is a couple years old, and I'm wondering if DirectX 10/11 must be supported by the video card, in order to develop these DirectX applications.

     

    Callstack:

     

    DirectXApplication_SandBox.exe!D3DRenderer::Clear() Line 262

    DirectXApplication_SandBox.exe!D3DRenderer::Render() Line 237

    DirectXApplication_SandBox.exe!D3DRenderer::Run() Line 58

     

    Any information or help is appreciated.

    Sunday, December 18, 2011 8:50 AM

Answers


  • Hi Benjamin,

    You can write DirectX applications with DX9 but you would need to ensure you are only using DX9 interfaces and Structures.  The Marble Maze sample happens to use DX11 so I would expect it to fail (from MarbleMaze.cpp D3D11_BUFFER_DESC ConstantBufferDesc;)

    Make sense?

    -Jeff

     


    Jeff Sanders (MSFT)
    Wednesday, December 21, 2011 8:18 PM
    Moderator

All replies

  • Hi Benjamin,

    Does your system meet the system requirements for the developer preview: http://msdn.microsoft.com/en-us/windows/apps/br229516.aspx ?

    Do other DirectX samples work from the samples here: http://code.msdn.microsoft.com/windowsapps/site/search?query=directx&f%5B0%5D.Value=directx&f%5B0%5D.Type=SearchText&ac=3 ?

    -Jeff

     


    Jeff Sanders (MSFT)
    Monday, December 19, 2011 1:58 PM
    Moderator
  • I believe so.  From the link you sent:

     

    System Requirements

    The Windows 8 Developer Preview works great on the same hardware that powers Windows Vista and Windows 7:

    • 1 gigahertz (GHz) or faster 32-bit (x86) or 64-bit (x64) processor
    • 1 gigabyte (GB) RAM (32-bit) or 2 GB RAM (64-bit)
    • 16 GB available hard disk space (32-bit) or 20 GB (64-bit)
    • DirectX 9 graphics device with WDDM 1.0 or higher driver
    • Taking advantage of touch input requires a screen that supports multi-touch
    • To run Metro style Apps, you need a screen resolution of 1024 X 768 or greater

     

    My laptop meets all these requirements (I'm not sure about WDDM 1.0, but it supports up to Direct X 9.0c) and has everything installed on it, and runs as expected.  I tried the default direct X app, and the Tutorial series sample, and both of them crash at the same line of code, listed in my first post.  I ran this exact test on my secondary tower at work, which uses a direct X 10 capable card, and the examples run without any problems.

    It seems odd to me that I cannot develop a direct X metro app using only direct X 9 level of graphics, especially when my system meets win 8 requirements. (meaning my laptop should be able to run direct X metro apps, unless they utilize direct X 10 or 11 functionality)

    Monday, December 19, 2011 10:42 PM

  • Hi Benjamin,

    You can write DirectX applications with DX9 but you would need to ensure you are only using DX9 interfaces and Structures.  The Marble Maze sample happens to use DX11 so I would expect it to fail (from MarbleMaze.cpp D3D11_BUFFER_DESC ConstantBufferDesc;)

    Make sense?

    -Jeff

     


    Jeff Sanders (MSFT)
    Wednesday, December 21, 2011 8:18 PM
    Moderator
  • There is a distinction between "Direct3D 9" the class of video hardware and "Direct3D 9" the API. The Direct3D 11 API is required for Metro style applications (you can't use Direct3D9), but it does support 9.1, 9.2, and 9.3 'feature level' video hardware as well as 10.0, 10.1, 11.0, and 11.1. See DirectX 11 Technology Update from Gamefest 2010 for a detailed explanation of "feature levels".

    Marble Maze should be able to run on a Feature Level 9.1 card, but it is possible that you have a very old "DirectX 9" part that doesn't meet the requirements of even 9.1, in which case it is defintely not going to support any Direct3D 11 development or applications.

    Perhaps you can post the "Display" information from a run of "DXDIAG" on your system?

    Friday, January 6, 2012 11:18 PM