다음을 통해 공유


선형 조리개-공간 세그먼트

선형 조리개 공간 세그먼트는 선형 메모리 공간 세그먼트와 유사합니다. 그러나 조리개 공간 세그먼트는 주소 공간일 뿐이며 비트를 보유할 수 없습니다.

비트를 저장하려면 시스템 메모리 페이지를 할당해야 하며 주소 공간 범위를 리디렉션하여 해당 페이지를 참조해야 합니다. 커널 모드 디스플레이 미니포트 드라이버(KMD)는 리디렉션을 처리하기 위해 DXGK_OPERATION_MAP_APERTURE_SEGMENT 및 DXGK_OPERATION_UNMAP_APERTURE_SEGMENT 작업 유형에 대한 DxgkDdiBuildPagingBuffer 함수를 구현해야 하며 디스플레이 미니포트 드라이버의 DriverEntry에 설명된 대로 이 함수를 노출해야 합니다. Dxgkrnl 은 리디렉션할 주소 공간 범위와 할당된 실제 시스템 메모리 페이지를 참조하는 MDL을 사용하여 DxgkDdiBuildPagingBuffer 를 호출합니다.

KMD는 일반적으로 비디오 메모리 관리자(VidMm)에 알려지지 않은 페이지 테이블을 프로그래밍하여 주소 공간 범위의 리디렉션을 수행합니다.

드라이버는 선형 조리개 공간 세그먼트를 지정하려면 DXGK_SEGMENTDESCRIPTOR 구조체의 Flags 멤버에서 Aperture 비트 필드 플래그를 설정해야 합니다. 드라이버는 다음 비트 필드 플래그를 설정하여 다른 세그먼트 지원을 나타낼 수도 있습니다.

  • CpuVisible 는 세그먼트가 CPU에 액세스할 수 있음을 나타냅니다.

  • 세그먼트가 리디렉션되는 페이지의 CPU와 캐시 일관성을 유지함을 나타내는 CacheCoherent입니다.

다음 그림에서는 선형 조리개 공간 세그먼트의 시각적 표현을 보여줍니다.

선형 조리개 공간 세그먼트를 보여 주는 다이어그램