D3D11DDIARG_CREATEDEFERREDCONTEXT structure

The D3D11DDIARG_CREATEDEFERREDCONTEXT structure describes the deferred context to create.

Syntax


typedef struct D3D11DDIARG_CREATEDEFERREDCONTEXT {
  union {
    struct D3D11DDI_DEVICEFUNCS  *p11ContextFuncs;
    struct D3D11_1DDI_DEVICEFUNCS  *p11_1ContextFuncs;
#if D3D11DDI_MINOR_HEADER_VERSION >= 4
    struct D3DWDDM1_3DDI_DEVICEFUNCS  *pWDDM1_3ContextFuncs;
#endif 
  };
  D3D10DDI_HDEVICE      hDrvContext;
  D3D10DDI_HRTCORELAYER hRTCoreLayer;
  union {
    const struct D3D11DDI_CORELAYER_DEVICECALLBACKS  *p11UMCallbacks;
  };
  UINT                  Flags;
} D3D11DDIARG_CREATEDEFERREDCONTEXT;

Members

p11ContextFuncs

[in/out] A pointer to a D3D11DDI_DEVICEFUNCS structure that the user-mode display driver fills with a table of its functions for the deferred context. The Direct3D runtime uses these functions to communicate with the user-mode display driver.

For a list of the functions that are not leveraged for deferred contexts, see Excluding DDI Functions for Deferred Contexts.

p11_1ContextFuncs

[in/out] A pointer to a D3D11_1DDI_DEVICEFUNCS structure that the user-mode display driver fills with a table of its functions for the deferred context. The Direct3D runtime uses these functions to communicate with the user-mode display driver.

Supported starting with Windows 8.

pWDDM1_3ContextFuncs

[in/out] A pointer to a D3DWDDM1_3DDI_DEVICEFUNCS structure that the user-mode display driver fills with a table of its functions for the deferred context. The Direct3D runtime uses these functions to communicate with the user-mode display driver.

Supported starting with Windows 8.1.

hDrvContext

[in] A handle to the driver context for the driver-private handle storage.

hRTCoreLayer

[in] A handle that the driver should use when it calls back into the Direct3D runtime to access core Direct3D 11 functionality (that is, when the driver calls functions that the p11UMCallbacks member specifies).

p11UMCallbacks

[in] A pointer to a D3D11DDI_CORELAYER_DEVICECALLBACKS structure that contains a table of Direct3D 11 runtime callback functions that the driver can use to access core user-mode runtime functionality.

Flags

[in] A valid bitwise OR of flag values that identify how to create a rendering device. The Direct3D runtime supports the following flags:

D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION (0x1)

If this flag is set, the user-mode display driver should not run multiple threads simultaneously when it processes calls to its functions from the Direct3D runtime. A driver can typically start and run multiple threads to process operations faster, unless D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION is set.

D3D11DDI_CREATEDEVICE_FLAG_SINGLETHREADED (0x10)

This flag informs the user-mode display driver that the application is single threaded. The Direct3D version 11 runtime allows multiple application threads to enter the driver if the driver allows this mode of operation. However, not all applications can run multiple threads. If this flag is set, the driver will not expect multiple threads to enter it and run simultaneously. The driver can avoid synchronization if this flag is present.

The flag that is set in the 0xE mask of the Flags member

This flag represents the level of 3-D pipeline that the driver should support for the display device. The driver uses the following constant and macros to extract one of the values from the D3D11DDI_3DPIPELINELEVEL enumeration that represent the 3-D pipeline level to support. The value in the Flags member is formatted like the Caps member of the D3D11DDI_3DPIPELINESUPPORT_CAPS structure.


#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT (0x1)
#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK (0x7 << D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT)
#define D3D11DDI_EXTRACT_3DPIPELINELEVEL_FROM_FLAGS( Flags ) \
    ((D3D11DDI_3DPIPELINELEVEL)(((Flags) & D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK) >> \
    D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT))

Requirements

Version

D3D11DDIARG_CALCPRIVATEDEFERREDCONTEXTSIZE is supported beginning with the Windows 7 operating system.

Header

D3d10umddi.h (include D3d10umddi.h)

See also

D3D11_1DDI_DEVICEFUNCS
D3D11DDI_3DPIPELINELEVEL
D3D11DDI_3DPIPELINESUPPORT_CAPS
D3D11DDI_CORELAYER_DEVICECALLBACKS
D3D11DDI_DEVICEFUNCS

 

 

Send comments about this topic to Microsoft

显示:
© 2014 Microsoft