структура 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)

См. также раздел

DXGKARG_SUBMITCOMMAND

DxgkDdiSubmitCommand