структура DXGK_PTE (d3dukmdt.h)

Запись таблицы страниц (PTE) предоставляет физический адрес страницы и другие атрибуты. Точный формат PTE зависит от реализации оборудования.

Синтаксис

typedef struct _DXGK_PTE {
  union {
    struct {
      ULONGLONG Valid : 1;
      ULONGLONG Zero : 1;
      ULONGLONG CacheCoherent : 1;
      ULONGLONG ReadOnly : 1;
      ULONGLONG NoExecute : 1;
      ULONGLONG Segment : 5;
      ULONGLONG LargePage : 1;
      ULONGLONG PhysicalAdapterIndex : 6;
      ULONGLONG PageTablePageSize : 2;
      ULONGLONG SystemReserved0 : 1;
      ULONGLONG Reserved : 44;
    };
    ULONGLONG Flags;
  };
  union {
    ULONGLONG PageAddress;
    ULONGLONG PageTableAddress;
  };
} DXGK_PTE;

Члены

Valid

Если задано значение , это означает, что запись является допустимой. Доступ к недопустимой записи приводит к ошибке неустранимого адреса, если не установлен флаг "Ноль ".

Zero

Если задано значение Valid = 1, доступ к записи приводит к возврату нулевого значения для доступа к памяти. Используется для поддержки мозаичного ресурса.

Поддерживается начиная с Windows 10.

CacheCoherent

Если этот параметр задан, это означает, что страница памяти является согласованной в кэше между ЦП и GPU.

ReadOnly

Если этот параметр задан, это означает, что страница памяти доступна только для чтения.

NoExecute

Если этот параметр задан, это означает, что страница памяти содержит данные, которые не следует рассматривать как исполняемые команды.

Поддерживается начиная с Windows 10.

Segment

Отсчитываемый от нуля идентификатор сегмента памяти GPU, в котором находится соответствующая страница памяти. Нулевой сегмент зарезервирован для системной памяти.

LargePage

Бит можно задать, только если драйвер режима ядра задает DXGK_VIRTUALADDRESSCAPS::GpuMmu. LargePageSupported cap. Если задан адрес таблицы страницы (PageTableAddress + SegmentId) является адресом памяти выделения. Размер выделения равен диапазону виртуальных адресов, покрываемого нижним уровнем таблицы страницы. Этот флаг нельзя установить для таблиц конечных страниц.

Поддерживается начиная с Windows 10.

PhysicalAdapterIndex

Определяет индекс физического адаптера в конфигурации связанного видеоадаптера. PTEs таблиц страниц на одном физическом адаптере могут указывать на память на другом физическом адаптере.

Поддерживается начиная с Windows 10.

PageTablePageSize

Для записи таблицы страницы уровня 1 определяется размер страниц конечной страницы PTEs таблицы конечной страницы. Значение предоставляется перечислителем DXGK_PTE_PAGE_SIZE . Это значение следует игнорировать, если поддерживается двойное PTE.

Поддерживается начиная с Windows 10.

SystemReserved0

Reserved

Зарезервировано для использования системой и будет установлено в нулевое значение.

Flags

Немаскированные значения структуры.

PageAddress

Высокий 52 бит 64-разрядного физического адреса страницы памяти. Низкие 12 бит равны нулю. Адрес является смещением от начала сегмента, определенного segment, или адресом системной памяти.

PageTableAddress

Высокий 52 бит 64-разрядного физического адреса таблицы страниц нижнего уровня. Низкие 12 бит равны нулю. Адрес является смещением от начала сегмента, определенного segment, или адресом системной памяти.

Поддерживается начиная с Windows 10.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 7 и более поздних версиях операционных систем Windows.
Верхняя часть d3dukmdt.h (включая D3dkmddi.h)