DXGK_SET_TIMING_PATH_INFO 구조체(d3dkmddi.h)
SetTiming 경로를 수정하기 위한 정보를 보관하는 구조체입니다.
통사론
typedef struct _DXGK_SET_TIMING_PATH_INFO {
D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId;
union {
D3DDDI_COLOR_SPACE_TYPE OutputColorSpace;
D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE OutputWireColorSpace;
};
D3DKMDT_WIRE_FORMAT_AND_PREFERENCE SelectedWireFormat;
union {
struct {
DXGK_PATH_UPDATE VidPnPathUpdates : 2;
UINT Active : 1;
UINT IgnoreConnectivity : 1;
UINT PreserveInherited : 1;
UINT SyncLockGroup : 3;
DXGK_SYNC_LOCK_STYLE SyncLockStyle : 4;
#if ...
UINT Reserved : 20;
#else
UINT Reserved : 27;
#endif
} Input;
UINT InputFlags;
};
union {
struct {
UINT RecheckMPO : 1;
UINT Reserved : 31;
} Output;
UINT OutputFlags;
};
DXGK_CONNECTION_CHANGE TargetState;
union {
struct {
DXGK_GLITCH_CAUSE GlitchCause;
DXGK_GLITCH_EFFECT GlitchEffect;
DXGK_GLITCH_DURATION GlitchDuration;
UINT8 Reserved;
};
UINT DiagnosticInfo;
};
} DXGK_SET_TIMING_PATH_INFO;
회원
VidPnTargetId
디스플레이 어댑터의 비디오 현재 대상 식별자입니다.
OutputColorSpace
전송된 픽셀에 대한 출력 색 공간을 설명하는 D3DDDI_COLOR_SPACE_TYPE 값입니다. 드라이버는 디스플레이 디바이스가 이 색 공간에 대해 픽셀을 올바르게 해석하도록 설정되어 있는지 확인하기 위해 적절한 메타데이터를 전송해야 합니다.
출력 색 영역은 다른 SetTiming 호출에 의해 수정될 때까지 수정됩니다. 이 대상에 표시되는 스왑 체인에 설정된 색 영역이 출력 색 영역과 다른 경우 드라이버는 검색하는 동안 출력 색 영역으로 변환해야 합니다.
대상에서 여러 픽셀 평면을 사용하는 경우 드라이버는 구성된 픽셀을 출력 색 영역으로 변환하는 것 외에 일반적으로 선형 공간인 유효한 컴퍼지션 색 영역에서 평면의 컴퍼지션을 수행해야 합니다.
SelectedWireFormat은 이미 색 인코딩 및 크로마 하위 샘플링을 나타내므로 OutputColorSpace는 픽셀 값을 인코딩해야 하는 주 복제본 및 감마를 결정하는 데만 사용됩니다. 다른 요소: 색 모델, 범위 및 cositing은 SelectedWireFormat에 의해 정의되므로 무시되어야 합니다. Rec.709 주 복제본이 있는 ST.2084 감마 또는 Rec 2020 주 복제본이 있는 2.2 감마를 지원할 계획이 없는 경우 RS2 릴리스의 OS에서 다음 두 값만 설정됩니다.
- SDR용 D3DDDI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
- HDR10의 경우 D3DDDI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020
OutputWireColorSpace
D3DDDI_COLOR_SPACE_TYPE 열거형 형식은 OS에서 MPO의 입력 색 공간을 지정하는 데도 사용되므로 WDDM 2.3부터 사용되지 않습니다. WDDM 2.3 이상 드라이버는 새 형식 D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE 사용해야 합니다.
SelectedWireFormat
경로에 대해 설정할 와이어 형식을 나타내는 D3DKMDT_WIRE_FORMAT_AND_PREFERENCE 값입니다. 기본 설정 필드는 이 컨텍스트에서 예약되므로 드라이버에서 무시해야 합니다. 나머지 5비트 필드에서 OS는 30비트 중 하나를 설정하여 어떤 색 인코딩과 링크를 구동해야 하는 비트 깊이를 나타냅니다.
Input
Input.VidPnPathUpdates
이전의 성공적인 호출 이후 이 경로에 해당하는 VidPn 요소가 어떻게 변경되었는지 설명합니다.
DXGK_SET_TIMING_PATH_INFO 구조의 필드는 이 요약에서 제외되므로 드라이버는 항상 이러한 필드에 변경 내용을 평가해야 합니다. 예를 들어 OS가 SetTimings를 호출하여 경로에서 모니터를 유휴 상태로 두면 활성 플래그가 지워지고 VidPnPathUpdates가 DXGK_PATH_UPDATE_UNMODIFIED 설정됩니다. 그런 다음 SetTimings를 호출하여 모니터를 전원을 켜면 활성 플래그가 설정되고 VidPnPathUpdates는 여전히 DXGK_PATH_UPDATE_UNMODIFIED 설정됩니다.
Input.Active
설정된 경우 경로를 활성화하거나 활성 상태로 유지해야 했음을 나타냅니다. 지우면 경로가 비활성화되거나 비활성 상태로 유지되어야 했음을 나타냅니다.
Input.IgnoreConnectivity
설정된 경우 디스플레이 디바이스가 검색되지 않았더라도 드라이버가 대상에 출력을 강제로 적용해야 했음을 나타냅니다. 명확한 경우 연결이 변경된 경우 드라이버에서 업데이트된 ConnectionStatus를 보고해야 합니다.
Input.PreserveInherited
설정된 경우 드라이버가 이전 드라이버에서 구성한 타이밍 및 콘텐츠를 유지해야 임을 나타냅니다. 이 플래그는 어댑터가 드라이버의 현재 인스턴스가 아닌 다른 항목으로 구성된 경우에만 사용됩니다. 처음에는 부팅하는 동안 펌웨어에서 경로를 초기화할 때 사용됩니다. 명확한 경우 특별한 동작이 요청되지 않습니다.
Input.SyncLockGroup
잠금 그룹 입력을 동기화합니다. WDDM 2.4부터 사용할 수 있습니다. 각 경로가 속한 동기화된 표시 그룹을 나타냅니다. WDDM 2.4 - WDDM 2.6은 어댑터당 단일 동기화 그룹만 지원하고 가능한 경우 항상 동기화를 사용하도록 설정하므로 동기화 가능 디스플레이를 사용하도록 설정하면 이 값이 1로 설정되고, 디스플레이를 동기화할 필요가 없으며 항상 값 DXGK_SYNC_LOCK_STYLE_NONE SyncLockStyle 페어링해야 하는 경우 0으로 설정됩니다.
Input.SyncLockStyle
잠금 스타일 입력을 동기화합니다. WDDM 2.4부터 사용할 수 있습니다. OS에서 요청하는 동기화 스타일을 나타냅니다. WDDM 2.4 - WDDM 2.6 드라이버의 경우 동기화 가능 디스플레이를 사용하도록 설정하고 그렇지 않으면 DXGK_SYNC_LOCK_STYLE_NONE 경우 이 값은 DXGK_SYNC_LOCK_STYLE_IDENTICAL 설정됩니다.
Input.Reserved
이 값은 시스템 사용을 위해 예약되어 있습니다.
InputFlags
OS가 드라이버에서 수행할 작업을 지정하는 플래그 집합입니다.
Output
Output.RecheckMPO
설정된 경우 OS가 이 경로의 변경으로 인해 CheckMPO를 발급해야 했음을 나타냅니다.
Output.Reserved
이 값은 시스템 사용을 위해 예약되어 있습니다.
OutputFlags
OS에서 이 경로와 관련하여 알아야 하는 결과를 지정하는 플래그 집합입니다.
TargetState
이 호출의 결과로 대상 상태를 나타냅니다. 타이밍을 변경하면 OS가 변경하지 않으려는 수정된 대상과 대상의 연결 상태가 모두 발생할 수 있으므로 이 필드는 각 경로의 상태를 전달합니다.
대상 상태가 변경되지 않은 경우 이 필드에는 이전에 보고된 것과 동일한 ConnectionChangeId를 포함하여 대상에 보고된 마지막 상태의 복사본이 포함되어야 합니다.
대상 상태가 변경된 경우 이 필드에는 SetTiming 호출로 인한 상태를 반영하는 큐에 대기 중인 연결 변경의 복사본이 포함되어야 합니다.
GlitchCause
디스플레이 파이프라인의 기본 변경으로 인해 결함이 발생했음을 나타내는 DXGK_GLITCH_CAUSE 값입니다.
GlitchEffect
사용자에게 결함이 표시되는 방법을 나타내는 DXGK_GLITCH_EFFECT 값입니다.
GlitchDuration
결함의 지속 기간을 대략적으로 나타내는 DXGK_GLITCH_DURATION 값입니다. 이는 기본 문제가 발생한 기간을 반영하기 위한 것이지만 경우에 따라 표시되는 효과가 더 길어질 수 있습니다. 예를 들어 모니터가 다시 검색해야 할 만큼 동기화가 오래 손실되면 디스플레이 디바이스가 복구하는 데 많은 프레임이 소요될 수 있습니다. 디바이스마다 다르므로 복구 시간이 아니라 보고해야 하는 기본 문제의 길이입니다.
Reserved
이 값은 시스템 사용을 위해 예약되어 있습니다.
DiagnosticInfo
타이밍 변경의 부작용을 설명하기 위해 드라이버가 각 경로에 대해 입력한 정보 집합입니다. 대부분의 경우 결함이 불가피하므로 이러한 필드는 근본 원인과 사용자 영향의 정도를 이해하려고 시도합니다.
요구 사항
요구 | 값 |
---|---|
헤더 | d3dkmddi.h |