DXGK_SUBMITCOMMANDFLAGS 结构 (d3dkmddi.h)
DXGK_SUBMITCOMMANDFLAGS结构在位字段标志中标识有关直接内存访问的信息, (DMA) 缓冲区提交到图形处理单元 (GPU) 。
语法
typedef struct _DXGK_SUBMITCOMMANDFLAGS {
union {
struct {
UINT Paging : 1;
UINT Present : 1;
UINT RedirectedPresent : 1;
UINT NullRendering : 1;
UINT Flip : 1;
UINT FlipWithNoWait : 1;
UINT ContextSwitch : 1;
UINT Resubmission : 1;
UINT VirtualMachineData : 1;
#if ...
UINT Reserved : 23;
#elif
UINT Reserved : 24;
#elif
UINT Reserved : 25;
#else
UINT Reserved : 26;
#endif
};
UINT Value;
};
} DXGK_SUBMITCOMMANDFLAGS;
成员
Paging
[in]一个 UINT 值,该值指定 DMA 缓冲区是否为包含分页操作的分页缓冲区。
设置此值等效于设置 32 位 Value 成员的第一位 (0x00000001) 。
Present
[in]一个 UINT 值,该值指定 DMA 缓冲区是否包含现有操作。 DMA 缓冲区由驱动程序的 DxgkDdiPresent函数生成。
设置此值等效于设置 32 位 Value 成员 (0x00000002) 的第二位。
RedirectedPresent
[in]一个 UINT 值,该值指定 DMA 缓冲区是否包含重定向的当前操作,该操作是属于显示 Windows 管理器的共享分配的呈现。 DMA 缓冲区由驱动程序的 DxgkDdiRender 函数生成。
设置此值等效于设置 32 位 Value 成员 (0x00000004) 的第三位。
NullRendering
[in]一个 UINT 值,该值指定驱动程序是否应模拟将 DMA 缓冲区插入环 (也就是说,驱动程序是否应在 DMA 缓冲区) 末尾生成围栏中断;但是,驱动程序实际上不应运行 (呈现) DMA 缓冲区。 NullRendering 位字段标志仅在性能调查和调试期间设置,以模拟一个无限快的呈现引擎,该引擎仍必须执行 DMA 缓冲区提交和信号的开销。 在典型操作期间,永远不会设置 NullRendering。
设置此值等效于设置 32 位 Value 成员 (0x00000008) 的第四位。
Flip
[in]一个 UINT 值,该值指定 DMA 缓冲区是否包含翻转操作。
设置此值等效于设置 32 位 Value 成员 (0x00000010) 的第五位。
FlipWithNoWait
[in]一个 UINT 值,该值指定 DMA 缓冲区是否包含在没有内置等待下一个垂直同步的情况下发生的翻转操作。
设置此值等效于设置 32 位 Value 成员 (0x00000020) 的第六位。
ContextSwitch
[in]从 Windows 8 开始支持。
一个 UINT 值,该值指定 GPU 应从当前执行上下文切换到 null 上下文。
从 Windows 8 开始,每当尝试移动或逐出属于当前在 GPU 上执行的上下文的资源时,操作系统都显式请求 GPU 切换到 null 上下文。 通过提交具有 ContextSwitch 成员集的零长度 DMA 缓冲区来执行上下文切换请求。
如果当前上下文正在执行使用分页缓冲区的操作,则提交上下文切换命令时 ,分页 成员也设置为 1。
设置此值等效于设置 32 位 Value 成员 (0x00000040) 的第七位。
Resubmission
[in]指示此 DMA 数据包是否由于先前抢占而重新提交到 GPU。 在 WDDM 2.0 中, DXGKARG_SUBMITCOMMAND 和 DxgkDdiSubmitCommandVirtual 都会在第一个 DMA 数据包提交时将此标志设置为零,并在由于较早抢占而重新提交数据包时将此标志设置为 1。 无论之前是否已抢占数据包,WDDM 1.x 中的 标志都设置为零。
从 Windows 10 开始支持。
VirtualMachineData
[in]指示提交来自半虚拟化适配器。
Reserved
[in]此成员是保留成员,应设置为零。
Value
[in] DXGK_SUBMITCOMMANDFLAGS 包含的联合中的一个成员,该成员可以保存一个标识 DMA 缓冲区相关信息的 32 位值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
标头 | d3dkmddi.h (包括 D3dkmddi.h) |