D3D10DDIARG_CALCPRIVATEDEVICESIZE 结构 (d3d10umddi.h)

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

语法

typedef struct D3D10DDIARG_CALCPRIVATEDEVICESIZE {
  [in] UINT Interface;
  [in] UINT Version;
  [in] UINT Flags;
} D3D10DDIARG_CALCPRIVATEDEVICESIZE;

成员

[in] Interface

Microsoft Direct3D 接口版本。 高 16 位存储主要版本号 (,如 10、11 等) :低 16 位存储次要版本号 (,例如 0、1、2 等) 。 释放对接口的更改时,次要版本号将增加。

[in] Version

驱动程序可用于标识 Direct3D 运行时生成时间的数字。 高 16 位表示内部版本号;低 16 位表示修订号。

驱动程序仅用于监视高 16 位。 驱动程序应确保传入的运行时生成版本大于或等于驱动程序的当前生成版本。 如果传入的内部版本不兼容,驱动程序应从其 CalcPrivateDeviceSize 函数返回失败。

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

在 Windows 7 及更高版本中受支持。

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

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

在 Windows 7 及更高版本中受支持。

此标志表示驱动程序应为显示设备支持的三维管道级别。 驱动程序使用以下常量和宏从表示要支持的三维管道级别的 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 Vista 和更高版本的 Windows 操作系统中可用。
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

CalcPrivateDeviceSize