D3DDDI_SEGMENTPREFERENCE 구조체(d3dukmdt.h)

D3DDI_SEGMENTPREFERENCE 구조는 이 할당이 생성되는 기본 설정 세그먼트를 설명합니다.

구문

typedef struct _D3DDDI_SEGMENTPREFERENCE {
  union {
    struct {
      UINT SegmentId0 : 5;
      UINT Direction0 : 1;
      UINT SegmentId1 : 5;
      UINT Direction1 : 1;
      UINT SegmentId2 : 5;
      UINT Direction2 : 1;
      UINT SegmentId3 : 5;
      UINT Direction3 : 1;
      UINT SegmentId4 : 5;
      UINT Direction4 : 1;
      UINT Reserved : 2;
    };
    UINT Value;
  };
} D3DDDI_SEGMENTPREFERENCE;

멤버

SegmentId0

우선 순위가 가장 높은 기본 설정 세그먼트의 식별자이거나 기본 설정 세그먼트가 필요하지 않은 경우 0입니다. 유효한 값은 0에서 31까지입니다. 이 멤버는 Value 멤버의 처음 5비트와 동일합니다.

Direction0

VidMm이 할당을 수행할 SegmentId0의 끝을 선택함을 나타내려면 0으로 설정합니다. 이 멤버는 Value 멤버의 여섯 번째 비트와 같습니다.

SegmentId1

우선 순위가 가장 높은 다음 세그먼트의 식별자이거나 기본 설정 세그먼트가 필요하지 않은 경우 0입니다. 유효한 값은 0에서 31까지입니다. 이 멤버는 Value 멤버의 비트 7~11에 해당 합니다 .

Direction1

VidMm이 할당을 수행할 SegmentId1의 끝을 선택함을 나타내려면 0으로 설정합니다. 이 멤버는 Value 멤버의 12번째 비트와 같습니다.

SegmentId2

우선 순위가 가장 높은 다음 세그먼트의 식별자이거나 기본 설정 세그먼트가 필요하지 않은 경우 0입니다. 유효한 값은 0에서 31까지입니다. 이 멤버는 Value 멤버의 비트 13~17에 해당 합니다 .

Direction2

VidMm이 할당을 수행할 SegmentId2의 끝을 선택함을 나타내려면 0으로 설정합니다. 이 멤버는 Value 멤버의 18번째 비트와 동일합니다.

SegmentId3

우선 순위가 가장 높은 다음 세그먼트의 식별자이거나 기본 설정 세그먼트가 필요하지 않은 경우 0입니다. 유효한 값은 0에서 31까지입니다. 이 멤버는 Value 멤버의 비트 19~23에 해당 합니다 .

Direction3

VidMm이 할당을 수행할 SegmentId3의 끝을 선택함을 나타내려면 0으로 설정합니다. 이 멤버는 Value 멤버의 24번째 비트와 같습니다.

SegmentId4

우선 순위가 가장 높은 다음 세그먼트의 식별자이거나 기본 설정 세그먼트가 필요하지 않은 경우 0입니다. 유효한 값은 0에서 31까지입니다. 이 멤버는 Value 멤버의 비트 25~29와 같습니다.

Direction4

VidMm이 할당을 수행할 SegmentId4의 끝을 선택함을 나타내려면 0으로 설정합니다. 이 멤버는 Value 멤버의 30번째 비트와 같습니다.

Reserved

예약됨(비트 31-32).

Value

세그먼트 기본 설정 정보에 액세스하는 다른 방법입니다.

설명

세그먼트 기본 설정은 메모리를 할당할 때 사용됩니다. 사용자 모드(예: D3D 런타임)가 D3DKMTCreateAllocation을 호출하는 경우 UMD는 할당을 설명하는 프라이빗 드라이버 데이터를 제공합니다. Dxgkrnl 은 이 프라이빗 드라이버 데이터를 가져와 KMD에 전달한 다음 VidMm에서 이해하는 방식으로 각 할당에 대한 설명을 채웁니다. UMD 데이터에는 리소스 종류(텍스처, 스왑 체인 등)와 같은 정보가 포함됩니다. KMD는 이 데이터를 크기, 맞춤, 할당을 배치할 수 있는 메모리 세그먼트 집합, 이러한 세그먼트에 대한 기본 설정(이 구조에 표시된 대로) 등으로 변환합니다.

요구 사항

요구 사항
헤더 d3dukmdt.h

추가 정보

D3DKMTCreateAllocation

D3DKMTUpdateAllocationProperty