структура 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) |