DXGK_SUBMITCOMMANDFLAGS 구조체(d3dkmddi.h)

DXGK_SUBMITCOMMANDFLAGS 구조체는 GPU(그래픽 처리 장치)에 제출할 DMA(직접 메모리 액세스) 버퍼에 대한 정보를 비트 필드 플래그로 식별합니다.

구문

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] DMA 버퍼가 페이징 작업을 포함하는 페이징 버퍼인지 여부를 지정하는 UINT 값입니다.

이 설정은 32비트 멤버(0x00000001)의 첫 번째 비트를 설정하는 것과 같습니다.

Present

[in] DMA 버퍼에 현재 작업이 포함되어 있는지 여부를 지정하는 UINT 값입니다. DMA 버퍼는 드라이버의 DxgkDdiPresent함수에 의해 생성되었습니다.

이 설정은 32비트 멤버(0x00000002)의 두 번째 비트를 설정하는 것과 같습니다.

RedirectedPresent

[in] DMA 버퍼에 Windows 표시 관리자에 속하는 공유 할당에 있는 리디렉션된 현재 작업이 포함되어 있는지 여부를 지정하는 UINT 값입니다. DMA 버퍼는 드라이버의 DxgkDdiRender 함수에 의해 생성되었습니다.

이 설정은 32비트 Value 멤버(0x00000004)의 세 번째 비트를 설정하는 것과 같습니다.

NullRendering

[in] 드라이버가 링에 DMA 버퍼 삽입을 시뮬레이션해야 하는지(즉, 드라이버가 DMA 버퍼 끝에 펜스 인터럽트를 생성해야 하는지 여부)를 지정하는 UINT 값입니다. 그러나 드라이버는 실제로 DMA 버퍼를 실행(렌더링)해서는 안 됩니다. NullRendering 비트 필드 플래그는 DMA 버퍼 제출 및 신호의 오버헤드를 수행해야 하는 무한히 빠른 렌더링 엔진을 시뮬레이션하기 위해 성능 조사 및 디버깅 중에만 설정됩니다. NullRendering 은 일반적인 작업 중에 설정되지 않습니다.

이 설정은 32비트 멤버(0x00000008)의 네 번째 비트를 설정하는 것과 같습니다.

Flip

[in] DMA 버퍼에 대칭 이동 작업이 포함되어 있는지 여부를 지정하는 UINT 값입니다.

이 설정은 32비트 멤버(0x00000010)의 다섯 번째 비트를 설정하는 것과 같습니다.

FlipWithNoWait

[in] 다음 세로 동기화를 위해 기본 제공 대기 없이 발생하는 대칭 이동 작업이 DMA 버퍼에 포함되어 있는지 여부를 지정하는 UINT 값입니다.

이 설정은 32비트 멤버(0x00000020)의 여섯 번째 비트를 설정하는 것과 같습니다.

ContextSwitch

[in] Windows 8 부터 지원합니다.

GPU가 현재 실행 중인 컨텍스트에서 null 컨텍스트로 전환되도록 지정하는 UINT 값입니다.

Windows 8 시작해서 운영 체제는 GPU에서 현재 실행 중인 컨텍스트에 속한 리소스를 이동하거나 제거하려고 시도할 때마다 GPU에 null 컨텍스트로 전환하도록 명시적으로 요청합니다. 컨텍스트 전환 요청은 ContextSwitch 멤버 집합을 사용하여 길이가 0인 DMA 버퍼를 제출하여 수행됩니다.

현재 컨텍스트가 페이징 버퍼를 사용하는 작업을 실행하는 경우 컨텍스트 스위치 명령도 페이징 멤버를 1로 설정하여 제출됩니다.

이 설정은 32비트 멤버(0x00000040)의 일곱 번째 비트를 설정하는 것과 같습니다.

Resubmission

[in] 이전 선점으로 인해 이 DMA 패킷이 GPU에 다시 전송되는지 여부를 나타냅니다. WDDM 2.0에서 DXGKARG_SUBMITCOMMANDDxgkDdiSubmitCommandVirtual 은 첫 번째 DMA 패킷 제출에서 이 플래그를 0으로 설정하고 이전 선점으로 인해 패킷을 다시 제출할 때 1로 설정됩니다. 플래그는 패킷이 이전에 선점되었는지 여부에 관계없이 WDDM 1.x에서 0으로 설정됩니다.

Windows 10 부터 지원합니다.

VirtualMachineData

[in] 제출이 매개 변수화된 어댑터에서 온 것임을 나타냅니다.

Reserved

[in] 이 멤버는 예약되어 있으며 0으로 설정해야 합니다.

Value

[in] DMA 버퍼에 대한 정보를 식별하는 하나의 32비트 값을 포함할 수 있는 DXGK_SUBMITCOMMANDFLAGS 있는 공용 구조체의 멤버입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
머리글 d3dkmddi.h(D3dkmddi.h 포함)

추가 정보

DXGKARG_SUBMITCOMMAND

DxgkDdiSubmitCommand