структура 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-разрядного значения (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 переключился на контекст NULL при попытке переместить или вытеслить ресурс, принадлежащий контексту, который в настоящее время выполняется на GPU. Запрос на переключение контекста выполняется путем отправки буфера DMA нулевой длины с набором элементов ContextSwitch .
Если текущий контекст выполнял операцию, которая использовала буфер разбиения по страницам, команда переключения контекста отправляется с элементом разбиения по страницам , также равным 1.
Это эквивалентно установке седьмого бита 32-разрядного элемента Value (0x00000040).
Resubmission
[in] Указывает, отправляется ли этот пакет DMA в GPU из-за предыдущего вытеснения. В WDDM 2.0 для обоих DXGKARG_SUBMITCOMMAND и DxgkDdiSubmitCommandVirtual этот флаг будет равен нулю при первой отправке пакета DMA, а при повторной отправке пакета из-за предыдущего вытеснения устанавливается значение 1. Флаг в WDDM 1.x имеет значение 0, независимо от того, был ли пакет ранее вытеснен.
Поддерживается начиная с Windows 10.
VirtualMachineData
[in] Указывает, что отправка осуществляется из паравиртуализованного адаптера.
Reserved
[in] Этот элемент зарезервирован и должен иметь нулевое значение.
Value
[in] Элемент в объединении, который DXGK_SUBMITCOMMANDFLAGS содержит, который может содержать одно 32-разрядное значение, определяющее сведения о буфере DMA.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Верхняя часть | d3dkmddi.h (включая D3dkmddi.h) |