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
    };
    [in] UINT Value;
  };
} DXGK_SUBMITCOMMANDFLAGS;

구성원

[in] Paging

DMA 버퍼가 페이징 작업을 포함하는 페이징 버퍼인지 여부를 지정하는 UINT 값입니다.

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

[in] Present

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

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

[in] RedirectedPresent

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

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

[in] NullRendering

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

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

[in] Flip

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

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

[in] FlipWithNoWait

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

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

[in] ContextSwitch

Windows 8 시작부터 지원합니다.

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

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

참고 현재 컨텍스트가 페이징 버퍼를 사용하는 작업을 실행하는 경우 컨텍스트 스위치 명령도 페이징 멤버를 1로 설정하여 제출됩니다.
이 설정은 32비트 멤버(0x00000040)의 일곱 번째 비트를 설정하는 것과 같습니다.

Resubmission

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

Windows 10 시작 지원.

VirtualMachineData

가상 머신 데이터입니다.

[in] Reserved

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

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

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

이 설정은 나머지 25비트 32비트 멤버(0xFFFFFF80)를 설정하는 것과 같습니다.

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

이 멤버를 0으로 설정하는 것은 32비트 멤버의 나머지 26비트(0xFFFFFFC0)를 0으로 설정하는 것과 같습니다.

[in] Value

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

요구 사항

   
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
헤더 d3dkmddi.h(D3dkmddi.h 포함)

참고 항목

DXGKARG_SUBMITCOMMAND

DxgkDdiSubmitCommand