DXGK_SUBMITCOMMANDFLAGS structure (d3dkmddi.h)

The DXGK_SUBMITCOMMANDFLAGS structure identifies, in bit-field flags, information about a direct memory access (DMA) buffer to submit to the graphics processing unit (GPU).

Syntax

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;

Members

Paging

[in] A UINT value that specifies whether the DMA buffer is a paging buffer, which contains paging operations.

Setting this is equivalent to setting the first bit of the 32-bit Value member (0x00000001).

Present

[in] A UINT value that specifies whether the DMA buffer contains a present operation. The DMA buffer was generated by the driver's DxgkDdiPresentfunction.

Setting this is equivalent to setting the second bit of the 32-bit Value member (0x00000002).

RedirectedPresent

[in] A UINT value that specifies whether the DMA buffer contains a redirected present operation, which is a present to a shared allocation that belongs to the Display Windows Manager. The DMA buffer was generated by the driver's DxgkDdiRender function.

Setting this is equivalent to setting the third bit of the 32-bit Value member (0x00000004).

NullRendering

[in] A UINT value that specifies whether the driver should simulate the insertion of the DMA buffer into the ring (that is, whether the driver should generate the fence interrupt at the end of the DMA buffer); however, the driver should not actually run (render) the DMA buffer. The NullRendering bit-field flag is only set during performance investigating and debugging to simulate an infinitely fast rendering engine that still must perform the overhead of DMA buffer submission and signaling. NullRendering is never set during typical operations.

Setting this is equivalent to setting the fourth bit of the 32-bit Value member (0x00000008).

Flip

[in] A UINT value that specifies whether the DMA buffer contains a flip operation.

Setting this is equivalent to setting the fifth bit of the 32-bit Value member (0x00000010).

FlipWithNoWait

[in] A UINT value that specifies whether the DMA buffer contains a flip operation that occurs without a built-in wait for the next vertical synchronization.

Setting this is equivalent to setting the sixth bit of the 32-bit Value member (0x00000020).

ContextSwitch

[in] Supported beginning with Windows 8.

A UINT value that specifies that the GPU should switch from the current executing context to the null context.

Starting with Windows 8, the operating system explicitly requests the GPU to switch to the null context whenever an attempt is made to move or evict a resource that belongs to the context that is currently executing on the GPU. The context switch request is performed by submitting a zero-length DMA buffer with the ContextSwitch member set.

If the current context was executing an operation that used a paging buffer, the context switch command is submitted with the Paging member also set to one.

Setting this is equivalent to setting the seventh bit of the 32-bit Value member (0x00000040).

Resubmission

[in] Indicates whether this DMA packet is being resubmitted to the GPU due to an earlier preemption. In WDDM 2.0, both DXGKARG_SUBMITCOMMAND and DxgkDdiSubmitCommandVirtual will have this flag set to zero on the first DMA packet submission, and set to one when a packet is being resubmitted due to an earlier preemption. The flag is set to zero in WDDM 1.x regardless of whether a packet has been previously preempted.

Supported starting with Windows 10.

VirtualMachineData

[in] Indicates that the submission is from a paravirtualized adapter.

Reserved

[in] This member is reserved and should be set to zero.

Value

[in] A member in the union that DXGK_SUBMITCOMMANDFLAGS contains that can hold one 32-bit value that identifies information about the DMA buffer.

Requirements

Requirement Value
Minimum supported client Windows Vista
Header d3dkmddi.h (include D3dkmddi.h)

See also

DXGKARG_SUBMITCOMMAND

DxgkDdiSubmitCommand