DXGK_PRESENTFLAGS 구조체(d3dkmddi.h)
DXGK_PRESENTFLAGS 구조체는 수행할 현재 작업의 유형을 비트 필드 플래그로 식별합니다.
구문
typedef struct _DXGK_PRESENTFLAGS {
union {
struct {
UINT Blt : 1;
UINT ColorFill : 1;
UINT Flip : 1;
UINT FlipWithNoWait : 1;
UINT SrcColorKey : 1;
UINT DstColorKey : 1;
UINT LinearToSrgb : 1;
UINT Rotate : 1;
UINT FlipStereo : 1;
UINT FlipStereoTemporaryMono : 1;
UINT FlipStereoPreferRight : 1;
UINT BltStereoUseRight : 1;
UINT FlipWithMultiPlaneOverlay : 1;
UINT RedirectedFlip : 1;
#if ...
UINT Reserved : 18;
#elif
UINT Reserved : 19;
#else
UINT Reserved : 24;
#endif
};
[in] UINT Value;
};
} DXGK_PRESENTFLAGS;
멤버
[in] Blt
대칭 이동 작업 대신 복사 작업이 원본과 대상 표면 간에 발생하는지 여부를 지정하는 UINT 값입니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000001)의 첫 번째 비트를 설정하는 것과 같습니다.
[in] ColorFill
원본이 있는지 여부를 지정하는 UINT 값입니다. 이 멤버가 설정되면 원본이 없으며 드라이버는 대상 표면의 대상 사각형을 DXGKARG_PRESENT 구조체의 Color 멤버가 지정하는 A8R8G8B8 색으로 채워야 합니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000002)의 두 번째 비트를 설정하는 것과 같습니다.
[in] Flip
뒤로 및 기본 표면 간에 대칭 이동 작업이 발생하는지 여부를 지정하는 UINT 값입니다. 이 멤버가 설정된 경우 드라이버는 원본에서 대상으로 복사하는 대신 비디오 검사 출력을 원본으로 가리켜 현재 작업을 수행해야 합니다. 이 유형의 현재 작업은 눈물을 흘리지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000004)의 세 번째 비트를 설정하는 것과 같습니다.
[in] FlipWithNoWait
눈물이 없는 대칭 이동 작업이 그래픽 파이프라인을 중단하지 않아야 하는지 여부를 지정하는 UINT 값입니다. 눈물이 없는 대칭 이동이 그래픽 파이프라인을 중단하는 경우 GPU(그래픽 처리 장치)는 후속 명령을 실행하기 전에 눈물이 없는 대칭 이동이 적용될 때까지 기다려야 합니다.
FlipWithNoWait은 드라이버의 DxgkDdiQueryAdapterInfo 함수 호출에서 DXGKQAITYPE_DRIVERCAPS 값이 DXGKARG_QUERYADAPTERINFO구조체의 Type 멤버에 지정되었을 때 디스플레이 미니포트 드라이버가 DXGK_DRIVERCAPS 구조체의 FlipCaps 멤버에서 FlipOnVSyncWithNoWait 비트 필드 플래그를 설정한 경우에만 TRUE(즉, 1)로 설정할 수 있습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000008)의 네 번째 비트를 설정하는 것과 같습니다.
[in] SrcColorKey
DXGKARG_PRESENT 구조체의 Color 멤버에 있는 값을 사용하여 소스 색 키 지정을 수행할지 여부를 지정하는 UINT 값입니다. 즉, 색 키와 일치하는 원본 표면의 모든 픽셀을 대상 화면에 복사하면 안 되며 색 키와 일치하지 않는 모든 원본 픽셀을 복사해야 합니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000010)의 다섯 번째 비트를 설정하는 것과 같습니다.
[in] DstColorKey
DXGKARG_PRESENT 구조체의 Color 멤버에 있는 값을 사용하여 대상 색 키 지정을 수행할지 여부를 지정하는 UINT 값입니다. 즉, 색 키와 일치하는 대상 표면의 모든 픽셀을 원본 표면의 해당 픽셀로 바꿔야 하며, 색 키와 일치하지 않는 모든 대상 픽셀은 대체해서는 안 됩니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000020)의 여섯 번째 비트를 설정하는 것과 같습니다.
[in] LinearToSrgb
복사 작업 중에 선형 형식 원본을 sRGB 형식으로 변환할지 여부를 지정하는 UINT 값입니다. sRGB 형식이 감마 수정되었습니다. sRGB 형식에 대한 자세한 내용은 sRGB 웹 사이트를 방문하세요.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000040)의 일곱 번째 비트를 설정하는 것과 같습니다.
[in] Rotate
프레젠테이션 비트 블록 전송(비트blt) 동안 화면의 현재 방향과 일치하도록 프레젠테이션 데이터를 회전할지 여부를 지정하는 UINT 값입니다. 화면의 현재 방향은 비디오 현재 경로에 대한 D3DKMDT_VIDPN_PRESENT_PATH 구조체의 ContentTransformation 멤버에 설정된 D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION 구조체의 회전 멤버에서 설정됩니다.
디스플레이 미니포트 드라이버는 비트 필드 회전 플래그가 설정된 경우에만 데이터를 회전해야 합니다. 드라이버가 화면의 현재 방향이 프레젠테이션 데이터에서 회전되고 Rotate 이 설정되지 않은 경우에도 드라이버는 데이터를 회전해서는 안 됩니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000080)의 여덟 번째 비트를 설정하는 것과 같습니다.
[in] FlipStereo
드라이버가 스테레오 할당의 왼쪽 및 오른쪽 이미지를 모두 대칭 이동해야 하는지 여부를 지정합니다.
DXGK_SETVIDPNSOURCEADDRESS_FLAGS 구조체의 FlipOnNextVSync 멤버가 설정된 경우 드라이버는 다음 VSync에서 왼쪽 이미지로 대칭 이동을 완료한 다음 다음 VSync에서 오른쪽 이미지로 대칭 이동을 완료해야 합니다.
DXGK_SETVIDPNSOURCEADDRESS_FLAGS 구조체의 FlipImmediate 멤버가 설정된 경우 드라이버는 새 할당에서 즉시 검색을 시작해야 합니다. 예를 들어 드라이버가 올바른 이미지를 검사하는 경우 새 할당의 오른쪽 이미지에 있는 동일한 상대 오프셋에서 새 검사를 시작해야 합니다.
FlipStereo 및 FlipStereoTemporaryMono 멤버는 둘 다 동시에 설정할 수 없습니다.
자세한 요구 사항은 주의 섹션을 참조하세요.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000100)의 아홉 번째 비트를 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
[in] FlipStereoTemporaryMono
드라이버가 스테레오 프레임의 오른쪽 및 왼쪽 부분에 스테레오 할당의 왼쪽 이미지를 사용해야 하는지 여부를 지정합니다. 드라이버는 FlipStereo와 동일한 현재 작업을 수행합니다. 단, 스테레오 프레임의 두 이미지를 모두 생성하려면 왼쪽 이미지에서만 스캔해야 합니다.
이 멤버는 드라이버가 D3DKMDT_VIDPN_SOURCE_MODE 구조체의 Type 멤버를 D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN 설정하여 현재 표시 모드에서 이 옵션에 대한 지원을 보고하는 경우에만 설정해야 합니다.
FlipStereo 및 FlipStereoTemporaryMono 멤버는 둘 다 동시에 설정할 수 없습니다.
FlipStereoTemporaryMono 및 FlipStereoPreferRight 멤버는 둘 다 동시에 설정할 수 없습니다.
자세한 요구 사항은 주의 섹션을 참조하세요.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000200)의 10번째 비트를 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
[in] FlipStereoPreferRight
드라이버가 스테레오 기본 할당을 모노 모니터에 복제할 때 올바른 이미지를 사용하도록 지정합니다.
FlipStereoTemporaryMono 및 FlipStereoPreferRight 멤버는 둘 다 동시에 설정할 수 없습니다.
자세한 요구 사항은 주의 섹션을 참조하세요.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000400)의 11번째 비트를 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
[in] BltStereoUseRight
드라이버가 스테레오 할당에서 모노 할당으로 표시되면 올바른 이미지를 사용하도록 지정합니다. 설정하지 않으면 드라이버가 왼쪽 이미지를 사용해야 합니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000800)의 12번째 비트를 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
[in] FlipWithMultiPlaneOverlay
오버레이 평면과 기본 표면 간에 대칭 이동 작업이 발생하는지 여부를 지정합니다. 이 멤버가 설정된 경우 드라이버는 원본 평면에서 대상으로 복사하는 대신 비디오 스캔 출력을 원본 평면으로 가리켜 현재 작업을 수행해야 합니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00001000)의 13번째 비트를 설정하는 것과 같습니다.
Windows 8.1 부터 지원합니다.
RedirectedFlip
[in] Reserved
이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
이 멤버를 0으로 설정하는 것은 32비트 Value 멤버의 나머지 19비트(0xFFFFE000)를 0으로 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
[in] 이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
이 멤버를 0으로 설정하는 것은 32비트 Value 멤버의 나머지 24비트(0xFFFFFF00)를 0으로 설정하는 것과 같습니다.
[in] Value
수행할 현재 작업의 형식을 식별하는 32비트 값을 포함할 수 있는 DXGK_PRESENTFLAGS 있는 공용 구조체의 멤버입니다.
설명
ColorFill, SrcColorKey 및 DstColorKey 비트 필드 플래그는 상호 배타적입니다.
FlipStereo, FlipStereoTemporaryMono 또는 FlipStereoPreferRight 멤버가 설정된 경우 다음 조건이 적용됩니다.
- DXGKARG_SETVIDPNSOURCEADDRESS 구조체의 hAllocation 멤버는 D3DKMT_DISPLAYMODE구조체의 Flags 멤버에 스테레오 멤버 집합으로 생성된 할당을 가리킵니다.
- DXGKARG_SETVIDPNSOURCEADDRESSPrimarySegment 및 PrimaryAddress 멤버는 할당의 시작 실제 주소를 가리킵니다.
- 드라이버는 DXGK_SETVIDPNSOURCEADDRESS_FLAGS 구조체의 FlipImmediate 및 FlipOnNextVSync 멤버의 설정을 적용해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
머리글 | d3dkmddi.h(D3dkmddi.h 포함) |
추가 정보
D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION