다음을 통해 공유


DXGK_SEGMENTDESCRIPTOR 구조체(d3dkmddi.h)

DXGK_SEGMENTDESCRIPTOR 구조에는 드라이버가 지원하는 세그먼트에 대한 정보가 포함됩니다.

구문

typedef struct _DXGK_SEGMENTDESCRIPTOR {
  [out] PHYSICAL_ADDRESS  BaseAddress;
  [out] PHYSICAL_ADDRESS  CpuTranslatedAddress;
  [out] SIZE_T            Size;
  [out] UINT              NbOfBanks;
  [out] SIZE_T            *pBankRangeTable;
  [out] SIZE_T            CommitLimit;
  [out] DXGK_SEGMENTFLAGS Flags;
} DXGK_SEGMENTDESCRIPTOR;

멤버

[out] BaseAddress

GPU(그래픽 처리 장치)에 의해 결정되는 세그먼트의 기본 주소입니다. 세그먼트에서 페이징된 비디오 메모리 관리자가 할당하는 실제 주소에는 BaseAddress 가 지정하는 기본 주소에서 오프셋되는 GPU 주소가 할당됩니다.

비디오 메모리 관리자는 AGP 형식 조리개 세그먼트의 기본 주소( Agp 비트 필드 플래그가 Flags 멤버에 지정됨)를 무시하고 대신 GPU가 있는 버스에서 결정된 대로 AGP 조리개 내 세그먼트의 실제 실제 주소를 사용합니다. 이 경우 드라이버는 번역 없이 비디오 메모리 관리자가 직접 할당을 위해 생성한 주소를 사용할 수 있습니다.

[out] CpuTranslatedAddress

GPU가 연결된 버스를 기준으로 세그먼트의 기본 주소입니다. 예를 들어 GPU가 PCI 버스에 연결된 경우 CpuTranslatedAddress 는 PCI BAR(기본 주소 레지스터)로 지정된 사용 가능한 범위의 기본 주소입니다. 드라이버는 Flags 멤버에서 CpuVisible 비트 필드 플래그를 설정하여 CPU 액세스 가능 세그먼트를 지정하는 경우에만 이 주소를 지정 합니다 .

이 멤버는 AGP 형식 조리개 세그먼트를 포함하여 조리개 세그먼트에 대해 무시됩니다. 유일한 예외는 사용자 모드 표시 드라이버가 기본 할당에 대한 대체 가상 주소를 설정하지 않은 경우에 발생합니다(즉, 드라이버가 pfnLockCb 함수를 호출하는 동안 D3DDDICB_LOCKFLAGS 구조의 Flags 멤버에서 UseAlternateVA를 설정하지 않은 경우).

비디오 메모리 관리자가 가상 주소를 실제 범위에 매핑하기 전에 비디오 메모리 관리자는 버스의 CPU 보기에 따라 이 실제 주소를 변환하고 드라이버가 지정된 위치에 있는 세그먼트의 콘텐츠에 액세스하도록 조리개를 설정할 수 있도록 작업에 대해 드라이버에 알릴 수 있습니다.

[out] Size

세그먼트의 크기(바이트)입니다. 이 크기는 네이티브 호스트 페이지 크기의 배수여야 합니다(예: x86 아키텍처의 경우 4KB).

AGP 형식 조리개 세그먼트( Agp 비트 필드 플래그가 Flags 멤버에 지정됨)의 경우 비디오 메모리 관리자는 가능한 한 많은 조리개 공간을 할당하므로 이 멤버는 무시됩니다.

[out] NbOfBanks

은행업이 사용되는 경우(즉, Flags 멤버에 UseBanking 비트 필드 플래그가 설정된 경우) 세그먼트의 은행 수입니다.

[out] pBankRangeTable

세그먼트의 각 뱅크를 구분하는 범위를 나타내는 값의 배열입니다. 드라이버는 Flags 멤버에서 UseBanking 비트 필드 플래그를 설정하는 경우에만 이 배열을 지정 합니다 .

배열은 NbOfBanksth 뱅크를 통해 첫 번째 은행의 끝 주소(즉, 각 은행의 세그먼트로 끝 오프셋)를 지정합니다. 다음 사항에 유의하세요.

  • 은행은 연속적입니다.

  • 첫 번째 은행은 세그먼트의 오프셋 0에서 시작합니다.

  • 마지막 은행은 세그먼트의 끝에서 종료되므로 드라이버는 마지막 은행의 끝 주소를 지정할 필요가 없습니다.

[out] CommitLimit

세그먼트에 커밋할 수 있는 최대 바이트 수입니다. 메모리 세그먼트의 경우 커밋 제한은 크기 멤버에 지정된 세그먼트의 크기와 항상 동일합니다. 조리개 세그먼트의 경우 드라이버는 적은 양의 실제 메모리가 있는 시스템의 세그먼트에 커밋할 수 있는 메모리 양을 제한할 수 있습니다.

[out] Flags

세그먼트의 속성을 비트 필드 플래그로 식별하는 DXGK_SEGMENTFLAGS 구조체입니다.

AGP 형식 조리개 세그먼트의 경우 드라이버는 DXGK_SEGMENTFLAGS 포함된 공용 구조체에서 구조체의 Agp 멤버만 설정해야 합니다. AGP 형식 조리개 세그먼트는 조리개이며 CPU에 액세스할 수 있지만 다른 멤버가 설정된 경우 어댑터가 초기화되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
머리글 d3dkmddi.h(D3dkmddi.h 포함)

추가 정보

D3DDDICB_LOCKFLAGS

DXGKARG_QUERYADAPTERINFO

DXGK_ALLOCATIONINFO

DXGK_QUERYSEGMENTIN

DXGK_QUERYSEGMENTOUT

DXGK_SEGMENTFLAGS

DxgkDdiQueryAdapterInfo

pfnLockCb