Export (0) Print
Expand All
Expand Minimize

DXGK_VIDSCHCAPS structure

The DXGK_VIDSCHCAPS structure identifies the graphics processing unit (GPU) scheduling capabilities, in bit-field flags, that a driver can support.

Syntax


typedef struct _DXGK_VIDSCHCAPS {
  union {
    struct {
      UINT MultiEngineAware  :1;
      UINT VSyncPowerSaveAware  :1;
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
      UINT PreemptionAware  :1;
      UINT NoDmaPatching  :1;
      UINT CancelCommandAware  :1;
      UINT Reserved  :27;
#else 
      UINT Reserved  :30;
#endif 
    };
    UINT Value;
  };
} DXGK_VIDSCHCAPS;

Members

MultiEngineAware

A UINT value that specifies whether the driver supports the creation and destruction of a device context (through the DxgkDdiCreateContext and DxgkDdiDestroyContext functions) and the use of a device context (through the DxgkDdiPresent and DxgkDdiRender functions). If the driver does not support context creation, for every call to the driver that would pass a handle to a context, the Microsoft DirectX graphics kernel subsystem replaces the handle to the context with a handle to the device.

Setting this member is equivalent to setting the first bit of the 32-bit Value member (0x00000001).

VSyncPowerSaveAware

A UINT value that specifies whether the driver supports vertical-sync power-saving functionality.

If VSyncPowerSaveAware is set to 1 (TRUE), the operating system can save power by disabling and enabling the vertical-sync interrupt that occurs from the usage of some applications. If VSyncPowerSaveAware is set to zero (FALSE), the operating system will never disable the vertical-sync interrupt for applications that might cause the vertical-sync interrupt to occur.

Setting this member is equivalent to setting the second bit of the 32-bit Value member (0x00000002).

Supported starting with Windows Server 2008 and Windows Vista with SP1.

PreemptionAware

A UINT value that specifies whether the driver supports the GPU preemption policy of Windows 8 and later versions of Windows. With this policy, the operating system always issues preemption requests to the GPU before it initiates the Timeout Detection and Recovery (TDR) process.

If PreemptionAware is set to 1 (TRUE), the driver supports the preemption policy of Windows 8 and later versions of Windows.

If PreemptionAware is set to zero (FALSE), the driver supports the preemption policy of Windows 7. With this policy, the operating system may not issue preemption requests while potentially long running operations are being executed on the GPU. As a result, these GPU requests are not preempted before the TDR process is initiated. This may cause the TDR process to repeatedly reset the GPU which could lead to a system stop error.

Note  If PreemptionAware is set to 1, the MultiEngineAware member must also be set to a value of 1. If PreemptionAware is set to 1 but MultiEngineAware is set to zero, the operating system will halt the driver initialization process and return a failure code.

Setting this member is equivalent to setting the third bit of the 32-bit Value member (0x00000004).

Supported starting with Windows 8.

NoDmaPatching

A UINT value that specifies whether the driver disables leak detection for DMA buffers that are split into multiple parts. This detection is performed after the driver's DxgkDdiPatch function is called to assign, or patch, physical addresses to each part of the DMA buffer.

Note  Display devices that support virtual addresses can reprogram a virtual address to a new video memory location without having to patch the value of the DMA buffer address. For these types of display devices, the driver should set NoDmaPatching to 1.

If NoDmaPatching is set to 1 (TRUE), the driver disables leak detection, and the behavior of DMA buffer splitting is the same as in Windows 7.

If NoDmaPatching is set to 0 (FALSE), the driver enables leak detection for patched DMA buffer addresses. The operating system performs leak detection before it calls the driver's DxgkDdiPatch function.

Note  If NoDmaPatching is set to 1, the PreemptionAware and MultiEngineAware members must also be set to a value of 1. If NoDmaPatching is set to 1 but PreemptionAware or MultiEngineAware are set to zero, the operating system will halt the driver initialization process and return a failure code.

Setting this member is equivalent to setting the fourth bit of the 32-bit Value member (0x0000008).

Supported starting with Windows 8.

CancelCommandAware

A UINT value that specifies whether the driver supports cleaning up internal resources (through the DxgkDdiCancelCommand function) after a command is removed from the hardware queue.

If CancelCommandAware is set to 1 (TRUE), the driver supports cleaning up resources associated with a canceled DMA packet. If CancelCommandAware is set to zero (FALSE), the driver does not support cleaning up resources.

Note  If CancelCommandAware is set to 1, the MultiEngineAware member must also be set to a value of 1. If CancelCommandAware is set to 1 but MultiEngineAware is set to zero, the operating system returns a failure code.

Setting this member is equivalent to setting the fifth bit of the 32-bit Value member (0x0000010).

Supported starting with Windows 8.

Reserved

This member is reserved and should be set to zero.

Setting this member to zero is equivalent to setting the remaining 27 bits (0xFFFFFFE0) of the 32-bit Value member to zeros.

Supported starting with Windows 8.

Reserved

This member is reserved and should be set to zero.

Setting this member to zero is equivalent to setting the remaining 30 bits (0xFFFFFFC) of the 32-bit Value member to zeros.

Value

A member in the union that DXGK_VIDSCHCAPS contains that can hold a 32-bit value that identifies the GPU scheduling capabilities that the driver can support.

Requirements

Version

Available beginning with Windows Vista.

Header

D3dkmddi.h (include D3dkmddi.h)

See also

DXGK_DRIVERCAPS
DxgkDdiCancelCommand
DxgkDdiCreateContext
DxgkDdiDestroyContext
DxgkDdiPatch
DxgkDdiPresent
DxgkDdiRender

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft