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 |