다음을 통해 공유


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

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

비트를 저장하려면 시스템 메모리 페이지를 할당해야 하며 주소 공간 범위를 리디렉션하여 해당 페이지를 참조해야 합니다. 커널 모드 디스플레이 미니포트 드라이버(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 입니다.

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

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