Setting DXGI Information in the Registry

DXGI and the reference rasterizer use the following registry keys:

DWORD Software\Microsoft\DXGI\DisableFullscreenWatchdog
Set to 1 to disable the watchdog thread.

DWORD Software\Microsoft\Direct3D\ReferenceDevice\FlushOften
Set to 1 to flush often.

DWORD Software\Microsoft\Direct3D\ReferenceDevice\FenceEachEntryPoint
Set to 1 to make each call to a DDI function fence with the GPU. Fencing with the GPU means to flush the command batch and block until the GPU is idle.

DWORD Software\Microsoft\Direct3D\ReferenceDevice\Debug
Set to 1 to:

  • Flush often and make each call to a DDI function fence with the GPU.

  • Run the reference rasterizer (RefRast) single threaded.

DWORD Software\Microsoft\Direct3D\ReferenceDevice\D3D10RefGdiDisplayMask
Each bit in the DWORD mask enables (if set to 1) or disables (if set to 0) the display monitor, which is controlled by the reference device.

DWORD Software\Microsoft\Direct3D\ReferenceDevice\SingleThreaded
Set to 1 to enable running RefRast single threaded.

DWORD Software\Microsoft\Direct3D\ReferenceDevice\ForceHeapAlloc
Set to 1 to make the reference device create resources by using the regular process heap, versus other allocation mechanisms.

DWORD Software\Microsoft\Direct3D\ReferenceDevice\AllowAsync
Set to 1 to allow the reference device's second thread to run asynchronously (that is, multiple command buffers are allowed to be outstanding).

The reference hardware typically runs in a second thread; however, this second thread completes all its work before the primary thread can continue.

DWORD Software\Microsoft\Direct3D\ReferenceDevice\SimulateInfinitelyFastHW
Set to 1 to make the reference device's simulated hardware process only a few limited commands to give the appearance that the reference device is really fast (by essentially doing nothing).

The driver can use this key as a performance tool.