디스플레이 미니포트 드라이버에서 회전 지원
디스플레이 미니포트 드라이버의 DxgkDdiEnumVidPnCofuncModality 함수는 pfnUpdatePathSupportInfo 함수를 호출하여 VidPN(비디오 제공 네트워크) 토폴로지의 각 경로에 대한 회전 지원을 보고합니다. 회전 지원을 보고하는 방법에 대한 자세한 내용은 Cofunctional VidPN 원본 및 대상 모드 열거를 참조하세요.
Microsoft DirectX 그래픽 커널 하위 시스템은 회전되지 않은 표면 차원을 사용하여 공유 기본 표면을 만듭니다. 디스플레이 미니포트 드라이버에 화면을 회전하도록 알리기 위해 DirectX 그래픽 커널 하위 시스템은 디스플레이 미니포트 드라이버의 DxgkDdiCommitVidPn 및 DxgkDdiUpdateActiveVidPnPresPathentPath에 대한 호출에서 D3DKMDT_VIDPN_PRESENT_PATH 구조체의 ContentTransformation 멤버에 지정된 D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION 구조체의 회전 멤버에 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION 형식의 값을 지정 합니다. 함수.
참고 모든 회전 각도는 시계 반대 방향으로 정의되며 GDI가 회전을 정의하는 방법과 일치합니다.
DirectX 하위 시스템이 디스플레이 미니포트 드라이버에 화면을 회전하도록 알립니다. 드라이버가 드라이버의 DxgkDdiPresent 함수 호출에서 pPresent 매개 변수가 가리키는 DXGKARG_PRESENT 구조체의 Flags 멤버에서 회전 비트 필드 플래그가 설정된 경우에만 표면 데이터를 회전해야 합니다. 드라이버가 화면의 현재 방향이 프레젠테이션 데이터에서 회전되고 Rotate 이 설정되지 않은 경우에도 드라이버는 데이터를 회전해서는 안 됩니다.
복제 모드 동작
복제 모드 는 비디오 제공 원본이 비디오 현재 네트워크의 여러 경로를 통해 여러 비디오 프레젠테이션 대상에 연결하는 모드입니다. (비디오 프레젠테이션 네트워크에 대한 자세한 내용은 다중 모니터 및 비디오 프레젠테이션 네트워크를 참조하세요.)
디스플레이 미니포트 드라이버는 각 대상에 다른 회전이 필요할 수 있으므로 복제 모드에서 작동하는 경우 회전을 다르게 처리합니다. 운영 체제, 다양한 버전의 Microsoft DirectX 런타임 및 사용자 모드 클라이언트는 기본 비디오 현재 대상의 방향만 검색합니다. 따라서 현재 비디오 원본의 콘텐츠는 항상 기본 비디오 현재 대상의 방향과 일치합니다.
다음 표에서는 모든 관련 상황에 대해 디스플레이 미니포트 드라이버가 복제 모드에서 작동하는 방식을 보여 줍니다. Rotate 플래그의 설정은 DXGKARG_PRESENT 구조체의 Flags 멤버에 있는 회전 비트 필드의 설정입니다.
기본 대상 | 보조 대상 | 플래그 회전 | 드라이버 동작 |
---|---|---|---|
회전되지 않음 |
회전되지 않음 |
설정 안 함 |
드라이버는 회전을 수행하지 않습니다. |
회전되지 않음 |
회전 |
설정 안 함 |
회전 플래그가 설정되지 않은 경우에도 드라이버는 보조 대상 을 회전합니다. |
회전 |
회전되지 않음 |
설정 |
드라이버는 주 대상을 회전하지만 보조 대상은 회전하지 않습니다. |
회전 |
회전되지 않음 |
설정 안 함 |
회전이 설정되지 않았기 때문에 드라이버는 기본 대상을 회전하지 않습니다. 보조 대상이 원본의 콘텐츠 방향과 일치하지 않으므로 드라이버는 보조 대상을 회전해야 합니다. 이 상황은 클라이언트가 회전을 인식하고 이미 원본의 콘텐츠를 올바르게 지향한 경우에 발생합니다. 따라서 운영 체제는 회전을 설정하지 않습니다. |
회전 |
회전 |
설정 |
드라이버는 기본 대상과 보조 대상을 모두 회전합니다. |
회전 |
회전 |
설정 안 함 |
회전 인식 클라이언트는 이미 원본의 콘텐츠를 올바르게 지향했습니다. 따라서 추가 회전이 필요하지 않습니다. |
Windows 8.1 Update 시작하는 복제 모드 요구 사항
Windows 8.1 Update 드라이버가 이러한 요구 사항을 충족해야 합니다. 테스트 서명을 사용하도록 설정하면 드라이버가 이러한 요구 사항을 충족하지 못하면 시스템 버그 검사가 발생합니다.
기본 복제 경로
정의: 원본 디스플레이를 복제하는 대상 모니터(예: 랩톱 컴퓨터의 디스플레이를 복제하는 외부 모니터)를 포함하는 경로입니다.
요구 사항: 기본 클론 경로에서 드라이버는 Offset0 을 TRUE 로 설정하고 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT 다른 3개 오프셋 값을 FALSE로 설정해야 합니다.
세로 우선 원본 표시의 경우 기본 클론 경로는 회전 오프셋되지 않습니다. 즉, 기본 클론 경로의 오프셋은 항상 0(D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT)입니다. Offset0 은 TRUE이고 DWM(데스크톱 창 관리자)은 적절한 방향과 일치하도록 콘텐츠를 미리 회전합니다.
기본 클론 경로는 모든 기본 및 보조 복제 대상에 대한 모니터 새로 고침 속도를 결정합니다.
보조 복제 경로
정의: 원본 표시를 복제하는 기본 복제 경로의 일부가 아닌 추가 대상 모니터를 포함하는 경로입니다.
요구 사항: 보조 클론 경로에서 드라이버는 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT 4개의 오프셋 값 중 하나 이상을 TRUE로 설정해야 합니다. 드라이버가 경로 독립적 회전을 지원하지 않는 경우 모든 보조 클론 경로에서 Offset0 을 TRUE 로 설정해야 합니다.
다음은 드라이버가 경로 독립적 회전을 지원하는 경우 수행해야 하는 설정의 두 가지 예입니다.
가로 우선 예제
원본 표시와 보조 클론 경로의 대상이 모두 가로 우선 모니터인 경우 보조 클론 경로에서 드라이버는 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT 설정합니다. Offset0에서 TRUE로, 의 다른 3개 오프셋 값은 false로 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT. 또는 이 경우 보조 클론 경로에서 드라이버는 Offset0 및 Offset180 을 TRUE 로 설정하고 다른 오프셋 값을 FALSE로 설정합니다.
세로 우선 예제
원본 디스플레이가 세로 우선 디바이스이고 가로 우선 외부 모니터에 연결하는 경우 보조 클론 경로에서 드라이버는 Offset270 또는 Offset90 을 TRUE로 설정합니다.
자세한 내용은 Path-Independent 회전 지원을 참조하세요.