Поделиться через


структура 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 до 31. Этот элемент эквивалентен первым 5 битам элемента Value .

Direction0

Задайте нулевое значение, чтобы указать, что VidMm выбирает конец SegmentId0 для выполнения выделения. Этот элемент эквивалентен шестому биту элемента Value .

SegmentId1

Идентификатор следующего предпочтительного сегмента с наивысшим приоритетом или нуль, если предпочтительный сегмент не требуется. Допустимые значения: от 0 до 31. Этот член эквивалентен битам от 7 до 11 элемента Value .

Direction1

Задайте нулевое значение, чтобы указать, что VidMm выбирает конец SegmentId1 для выполнения выделения. Этот элемент эквивалентен 12-му биту элемента Value .

SegmentId2

Идентификатор следующего предпочтительного сегмента с наивысшим приоритетом или нуль, если предпочтительный сегмент не требуется. Допустимые значения: от 0 до 31. Этот элемент эквивалентен битам от 13 до 17 элемента Value .

Direction2

Задайте нулевое значение, чтобы указать, что VidMm выбирает конец SegmentId2 для выполнения выделения. Этот элемент эквивалентен 18-му биту элемента Value .

SegmentId3

Идентификатор следующего предпочтительного сегмента с наивысшим приоритетом или нуль, если предпочтительный сегмент не требуется. Допустимые значения: от 0 до 31. Этот член эквивалентен битам от 19 до 23 элемента Value .

Direction3

Задайте нулевое значение, чтобы указать, что VidMm выбирает конец SegmentId3 для выполнения выделения. Этот элемент эквивалентен 24-му биту элемента Value .

SegmentId4

Идентификатор следующего предпочтительного сегмента с наивысшим приоритетом или нуль, если предпочтительный сегмент не требуется. Допустимые значения: от 0 до 31. Этот элемент эквивалентен битам от 25 до 29 элемента Value .

Direction4

Задайте нулевое значение, чтобы указать, что VidMm выбирает конец SegmentId4 для выполнения выделения. Этот элемент эквивалентен 30-му биту элемента Value .

Reserved

Зарезервировано (биты 31–32).

Value

Альтернативный способ доступа к сведениям о предпочтениях сегмента.

Комментарии

Предпочтение сегмента используется при выделении памяти. Когда пользовательский режим (например, среда выполнения D3D) вызывает D3DKMTCreateAllocation, UMD предоставляет частные данные драйвера, описывающие выделение. Dxgkrnl принимает эти частные данные драйвера и передает их KMD, который затем заполняет описание каждого выделения таким образом, как это понимает VidMm. Данные UMD содержат такие сведения, как тип ресурса (текстура, цепочка буферов и т. д.). KMD преобразует эти данные в такие вещи, как размер, выравнивание, набор сегментов памяти, которые могут быть расположены при выделении, предпочтения для этих сегментов (как указано в этой структуре) и т. д.

Требования

Требование Значение
Заголовок d3dukmdt.h

См. также раздел

D3DKMTCreateAllocation

D3DKMTUpdateAllocationProperty