DXGKARG_VALIDATESUBMITCOMMAND structure (d3dkmddi.h)

The DXGKARG_VALIDATESUBMITCOMMAND structure contains arguments used in the call to DXGKDDI_VALIDATESUBMITCOMMAND.

Syntax

typedef struct _DXGKARG_VALIDATESUBMITCOMMAND {
  D3DGPU_VIRTUAL_ADDRESS          Commands;
  UINT                            CommandLength;
  DXGK_VALIDATESUBMITCOMMANDFLAGS Flags;
  UINT                            ContextCount;
  HANDLE                          Context[D3DDDI_MAX_BROADCAST_CONTEXT];
  VOID                            *pPrivateDriverData;
  UINT                            PrivateDriverDataSize;
  UINT                            UmdPrivateDataSize;
  UINT64                          HwQueueProgressFenceId;
} DXGKARG_VALIDATESUBMITCOMMAND;

Members

Commands

[in] The GPU virtual address of the start of the command buffer.

CommandLength

[in] Length of the command buffer, in bytes.

Flags

[in] A DXGK_VALIDATESUBMITCOMMANDFLAGS value with flags needed to validate the submit command.

ContextCount

[in] Number of valid handles in the Context array.

Context[D3DDDI_MAX_BROADCAST_CONTEXT]

[in] Array of handles to the contexts associated with Commands. The handle type is determined as follows.

  • Context is an array of driver context handles when Flags.HardwareQueueSubmission is 0.
  • Context is an array of driver hardware queue handles when Flags.HardwareQueueSubmission is 1.

pPrivateDriverData

[in/out,optional] Pointer to the private data that was passed to D3DKMTSubmitCommand. This a copy of the buffer and the pointer is a kernel-mode pointer. See Remarks.

PrivateDriverDataSize

[in] The total size in bytes of the private data buffer.

UmdPrivateDataSize

[in] Number of bytes of the private data buffer passed from user mode. See Remarks.

HwQueueProgressFenceId

[in] Identifier that represents the hardware queue progress fence. The driver should use this identifier to ensure that the command buffer has not previously been executed by the GPU when Flags.HardwareQueueSubmission is set.

Remarks

The portion of pPrivateDriverData's buffer that is not passed from user mode is uninitialized. The kernel-mode driver can use this portion to store its own data, which can be consumed in DxgkDdiSubmitCommandVirtual.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1809
Header d3dkmddi.h

See also

D3DKMTSubmitCommand

DXGKDDI_VALIDATESUBMITCOMMAND.