D3D11DDIARG_CALCPRIVATEDEFERREDCONTEXTSIZE 结构 (d3d10umddi.h)

D3D11DDIARG_CALCPRIVATEDEFERREDCONTEXTSIZE结构描述了用户模式显示驱动程序用于计算驱动程序存储频繁访问数据所需的内存块大小的参数。

语法

typedef struct D3D11DDIARG_CALCPRIVATEDEFERREDCONTEXTSIZE {
  [in] UINT Flags;
} D3D11DDIARG_CALCPRIVATEDEFERREDCONTEXTSIZE;

成员

[in] Flags

标识如何创建呈现设备的标志值的有效按位 OR。 Direct3D 运行时支持以下标志:

D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION (0x1)

如果设置了此标志,则用户模式显示驱动程序在处理从 Direct3D 运行时对其函数的调用时不应同时运行多个线程。 驱动程序通常可以启动和运行多个线程以更快地处理操作,除非设置了D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION。

D3D11DDI_CREATEDEVICE_FLAG_SINGLETHREADED (0x10)

此标志通知用户模式显示驱动程序应用程序是单线程的。 如果驱动程序允许此操作模式,Direct3D 版本 11 运行时允许多个应用程序线程进入驱动程序。 但是,并非所有应用程序都可以运行多个线程。 如果设置了此标志,驱动程序不会期望多个线程进入它并同时运行。 如果存在此标志,驱动程序可以避免同步。

在 Flags 成员的0xE掩码中设置的标志

此标志表示驱动程序应为显示设备支持的三维管道级别。 驱动程序使用以下常量和宏从表示要支持的三维管道级别的 D3D11DDI_3DPIPELINELEVEL 枚举中提取值之一。 Flags 成员中的值的格式类似于 D3D11DDI_3DPIPELINESUPPORT_CAPS 结构的 Caps 成员。

#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))

要求

要求
最低受支持的客户端 从 Windows 7 操作系统开始支持D3D11DDIARG_CALCPRIVATEDEFERREDCONTEXTSIZE。
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

D3D11DDI_3DPIPELINELEVEL

D3D11DDI_3DPIPELINESUPPORT_CAPS