D3DKMT_PRESENTFLAGS 구조체(d3dkmthk.h)

D3DKMT_PRESENTFLAGS 구조체는 현재 작업을 수행하는 방법을 식별합니다.

구문

typedef struct _D3DKMT_PRESENTFLAGS {
  union {
    struct {
      UINT Blt : 1;
      UINT ColorFill : 1;
      UINT Flip : 1;
      UINT FlipDoNotFlip : 1;
      UINT FlipDoNotWait : 1;
      UINT FlipRestart : 1;
      UINT DstRectValid : 1;
      UINT SrcRectValid : 1;
      UINT RestrictVidPnSource : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT LinearToSrgb : 1;
      UINT PresentCountValid : 1;
      UINT Rotate : 1;
      UINT PresentToBitmap : 1;
      UINT RedirectedFlip : 1;
      UINT RedirectedBlt : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT BltStereoUseRight : 1;
      UINT PresentHistoryTokenOnly : 1;
      UINT PresentRegionsValid : 1;
      UINT PresentDDA : 1;
      UINT ProtectedContentBlankedOut : 1;
      UINT RemoteSession : 1;
      UINT CrossAdapter : 1;
      UINT DurationValid : 1;
      UINT PresentIndirect : 1;
      UINT PresentHMD : 1;
#if ...
      UINT Reserved : 2;
#elif
      UINT Reserved : 6;
#else
      UINT Reserved : 15;
#endif
    };
         UINT Value;
  };
} D3DKMT_PRESENTFLAGS;

멤버

Blt

데이터를 주 표면으로 비트 블록 전송(비트블렛)할지 여부를 지정하는 UINT 값입니다. 이 비트 필드 플래그는 DstRectValidSrcRectValid 비트 필드 플래그와 함께 사용할 수 있습니다.

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

ColorFill

D3DKMT_PRESENT 구조체의 Color 멤버에 있는 값을 사용하여 기본 화면에 색 채우기 비트blt를 수행할지 여부를 지정하는 UINT 값입니다. 이 비트 필드 플래그는 DstRectValid 비트 필드 플래그와 함께 사용할 수 있습니다.

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

Flip

새 표면으로 전환할지 여부를 지정하는 UINT 값입니다.

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

FlipDoNotFlip

대기 중인 대기를 렌더링 스트림에 삽입할지 여부를 지정하는 UINT 값입니다. 이 멤버를 설정하면 현재 검사 중인 것과 동일한 표면으로 대칭 이동됩니다.

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

FlipDoNotWait

OpenGL ICD(설치 가능 클라이언트 드라이버)에서 현재 작업에서 큐에 대기 중인 대칭 이동 표면 수가 작업이 시작되기 전에 특정 한도 아래로 떨어질 때까지 기다려야 하는지 여부를 지정하는 UINT 값입니다. 이 멤버를 설정하면 ICD에서 대기할 필요가 없음을 나타냅니다. 대기 중인 대칭 이동 표면 수의 기본 제한은 3개입니다.

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

FlipRestart

새 표면으로 대칭 이동을 다시 시작할지 여부를 지정하는 UINT 값입니다.

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

DstRectValid

비트블렛이 대상 사각형 영역을 사용하는지 여부를 지정하는 UINT 값입니다.

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

SrcRectValid

비트블렛이 원본 사각형 영역을 사용하는지 여부를 지정하는 UINT 값입니다.

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

RestrictVidPnSource

비트블렛을 제한할지 여부를 지정하는 UINT 값입니다. hWindow 멤버가 NULL인 경우 D3DKMT_PRESENT 구조체의 VidPnSourceId 멤버는 전체 화면 비트blt가 전달되는 출력을 나타냅니다. hWindowNULL이 아닌 경우 VidPnSourceId는 창이 있는 비트블렛을 제한할 출력을 나타냅니다.

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

SrcColorKey

D3DKMT_PRESENT 구조체의 Color 멤버에 있는 값을 사용하여 소스 색 키 지정을 수행할지 여부를 지정하는 UINT 값입니다. 즉, 색 키와 일치하는 원본 표면의 모든 픽셀을 대상 화면에 복사하면 안 되며 색 키와 일치하지 않는 모든 원본 픽셀을 복사해야 합니다.

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

DstColorKey

D3DKMT_PRESENT Color 멤버의 값을 사용하여 대상 색 키 지정을 수행할지 여부를 지정하는 UINT 값입니다. 즉, 색 키와 일치하는 대상 표면의 모든 픽셀을 원본 표면의 해당 픽셀로 바꿔야 하며 색 키와 일치하지 않는 모든 대상 픽셀을 대체해서는 안 됩니다.

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

LinearToSrgb

복사 작업 중에 선형 형식의 원본을 sRGB 형식으로 변환할지 여부를 지정하는 UINT 값입니다. sRGB 형식이 감마 수정되었습니다. sRGB 형식에 대한 자세한 내용은 sRGB 웹 사이트를 참조하세요.

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

PresentCountValid

D3DKMT_PRESENT 구조체의 PresentCount 멤버에 설정된 값이 유효한지 여부를 지정하는 UINT 값입니다.

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

[in] Rotate

프레젠테이션 비트 블록 전송(비트블렛) 동안 화면의 현재 방향과 일치하도록 프레젠테이션 데이터를 회전할지 여부를 지정하는 UINT 값입니다. 화면의 현재 방향은 비디오 현재 경로에 대한 D3DKMDT_VIDPN_PRESENT_PATH 구조체의 ContentTransformation 멤버에 설정된 D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION 구조체의 회전 멤버에 설정됩니다.

디스플레이 미니포트 드라이버는 비트 필드 회전 플래그가 설정된 경우에만 데이터를 회전해야 합니다. 드라이버가 화면의 현재 방향이 프레젠테이션 데이터에서 회전되고 회전 이 설정되지 않은 경우에도 드라이버는 데이터를 회전해서는 안 됩니다.

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

PresentToBitmap

비트맵에 표시할지 여부를 지정하는 UINT 값입니다.

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

Windows 7부터 지원됩니다.

RedirectedFlip

대칭 이동을 새 표면으로 리디렉션할지 여부를 지정하는 UINT 값입니다.

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

Windows 7부터 지원됩니다.

RedirectedBlt

비트blt를 새 표면으로 리디렉션할지 여부를 지정하는 UINT 값입니다.

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

Windows 7부터 지원됩니다.

FlipStereo

드라이버가 스테레오 할당의 왼쪽 및 오른쪽 이미지를 모두 대칭 이동해야 하는지 여부를 지정합니다.

DXGK_SETVIDPNSOURCEADDRESS_FLAGS 구조체의 FlipOnNextVSync 멤버가 설정된 경우 드라이버는 다음 VSync에서 왼쪽 이미지로 대칭 이동을 완료한 다음 다음 VSync에서 오른쪽 이미지로 대칭 이동을 완료해야 합니다.

DXGK_SETVIDPNSOURCEADDRESS_FLAGS 구조체의 FlipImmediate 멤버가 설정된 경우 드라이버는 새 할당에서 즉시 검색을 시작해야 합니다. 예를 들어 드라이버가 올바른 이미지를 스캔하는 경우 새 할당의 오른쪽 이미지에 있는 동일한 상대 오프셋에서 새 검사를 시작해야 합니다.

FlipStereoFlipStereoTemporaryMono 멤버는 동시에 설정할 수 없습니다.

자세한 요구 사항은 설명 섹션을 참조하세요.

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

Windows 8 부터 지원합니다.

FlipStereoTemporaryMono

드라이버가 스테레오 프레임의 오른쪽 및 왼쪽 부분에 스테레오 할당의 왼쪽 이미지를 사용할지 여부를 지정합니다. 드라이버는 FlipStereo와 동일한 현재 작업을 수행합니다. 단, 스테레오 프레임의 두 이미지를 모두 생성하려면 왼쪽 이미지에서만 스캔해야 합니다.

이 멤버는 드라이버가 D3DKMDT_VIDPN_SOURCE_MODE 구조체의 Type 멤버를 D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN 설정하여 현재 표시 모드에서 이 옵션에 대한 지원을 보고하는 경우에만 설정해야 합니다.

FlipStereoFlipStereoTemporaryMono 멤버는 동시에 설정할 수 없습니다.

FlipStereoTemporaryMonoFlipStereoPreferRight 멤버는 동시에 설정할 수 없습니다.

자세한 요구 사항은 설명 섹션을 참조하세요.

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

Windows 8 부터 지원합니다.

FlipStereoPreferRight

드라이버가 스테레오 기본 할당을 모노 모니터에 복제할 때 올바른 이미지를 사용하도록 지정합니다.

FlipStereoTemporaryMonoFlipStereoPreferRight 멤버는 동시에 설정할 수 없습니다.

자세한 요구 사항은 설명 섹션을 참조하세요.

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

Windows 8 부터 지원합니다.

BltStereoUseRight

드라이버가 스테레오 할당에서 모노 할당으로 표시되면 올바른 이미지를 사용하도록 지정합니다. 설정되지 않은 경우 드라이버는 왼쪽 이미지를 사용해야 합니다.

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

Windows 8 부터 지원합니다.

PresentHistoryTokenOnly

드라이버가 현재 기록 토큰만 제출하도록 지정합니다.

현재 기록 토큰은 렌더링 앱이 렌더링이 완료되고 스왑 체인 백 버퍼를 표시할 준비가 되었음을 DWM(데스크톱 창 관리자)에 알리기 위해 제출하는 데이터 패킷입니다.

이 멤버를 설정하는 것은 32비트 Value 멤버(0x00200000)의 22초 비트를 설정하는 것과 같습니다.

Windows 8 부터 지원합니다.

PresentRegionsValid

D3DKMT_PRESENT 지정합니다. pPresentRegions 멤버는 유효한 포인터(NULL 아님)입니다.

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

Windows 8 부터 지원합니다.

PresentDDA

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

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

Windows 8 부터 지원합니다.

ProtectedContentBlankedOut

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

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

Windows 8 부터 지원합니다.

RemoteSession

현재 작업이 원격 세션으로 전달되도록 지정합니다.

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

Windows 8 부터 지원합니다.

CrossAdapter

크로스 어댑터입니다.

DurationValid

기간이 유효한지 여부를 나타냅니다.

PresentIndirect

간접적으로 표시합니다.

PresentHMD

Reserved

Windows 8 부터 지원합니다.

이 멤버는 예약되어 있으며 0으로 설정해야 합니다. 이 멤버를 0으로 설정하는 것은 32비트 Value 멤버의 나머지 9비트(0xFF800000)를 0으로 설정하는 것과 같습니다.

Value

현재 작업을 수행하는 방법을 식별하는 32비트 값입니다.

설명

FlipStereo, FlipStereoTemporaryMono 또는 FlipStereoPreferRight 멤버가 설정된 경우 다음 조건이 적용됩니다.

  • DXGKARG_SETVIDPNSOURCEADDRESS 구조체의 hAllocation 멤버는 D3DKMT_DISPLAYMODE구조체Flags 멤버에 스테레오 멤버 집합으로 생성된 할당을 가리킵니다.
  • DXGKARG_SETVIDPNSOURCEADDRESSPrimarySegmentPrimaryAddress 멤버는 할당의 시작 실제 주소를 가리킵니다.
  • 드라이버는 DXGK_SETVIDPNSOURCEADDRESS_FLAGS 구조체의 FlipImmediateFlipOnNextVSync 멤버의 설정을 적용해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista부터 사용할 수 있습니다.
머리글 d3dkmthk.h(D3dkmthk.h 포함)

추가 정보

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

D3DKMT_PRESENT

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS