다음을 통해 공유


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비트 Value 멤버(0x00000001)의 첫 번째 비트를 설정하는 것과 같습니다.

Present

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

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

RedirectedPresent

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

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

NullRendering

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

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

Flip

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

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

FlipWithNoWait

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

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

ContextSwitch

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

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

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

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

이 설정은 32비트 Value 멤버(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