locked
D3D11 runtime assertion when using Graphics Debugger and other applications may be intercepting something in the pipeline.

    Question

  • Hello,

    If I enable assertions for D3D11 Warnings via the DirectX control panel for my application, I get the following assert on my IDXGISwapChain::Present line:

    D3D11 WARNING: ID3D10Device::RSGetViewports: This ID3D10Device[1] method of the immediate context is locked out because an ID3D11Device[1] device context state is active. [ STATE_SETTING WARNING #3145945: DEVICE_LOCKEDOUT_INTERFACE]
    D3D11: **BREAK** enabled for the previous message, which was: [ WARNING STATE_SETTING #3145945: DEVICE_LOCKEDOUT_INTERFACE ]

    This happens only when using the Graphics Debugger and only when certain other applications are running in the background.

    These other applications usually have the feature where they overlay their own information on top of any D3D application. Examples are the VoIP gaming app Mumble (that overlays other voice chat users) and MSI Afterburner (that overlays graphics card stats).

    Why does these app's interfere with the Graphics Debugger or vice versa?

    Is there something I can set in my application to refuse this "intercept" access to these applications while still allowing the Graphics Debugger to do it's job?

    Thanks



    Saturday, March 08, 2014 11:04 AM

Answers

  • Hello,

    This warning is generated by the "graphics debugger" and is raised if the call to "flush" does not allow the swap. This occurs due to the way the "graphics debugger" creates a virtual adapter. Using a virtual adapter allows all of the D3D calls to be intercepted by the debugger and analyzed before being passed to the actual adapter. The warning is stating that you cannot  immediately pass a Direct3D 10 interface that you retrieved from a Direct3D 11 device to a function. You must first call SwapDeviceContextState to activate compatible context state object.

    Hopefully this document will help you understand the complex device context states that can generate similar warnings: http://msdn.microsoft.com/en-us/library/windows/desktop/hh404583(v=vs.85).aspx

    I hope this helps,

    James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Friday, March 14, 2014 12:41 AM
    Moderator