Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Запись таблицы страницы (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 BlockAccessMode : 2;
ULONGLONG Reserved : 42;
};
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. Если задать адрес таблицы страницы (PageTableAddress + SegmentId) — это адрес памяти выделения. Размер выделения равен диапазону виртуальных адресов, охватываемого нижним уровнем таблицы страницы. Этот флаг нельзя задать для таблиц конечной страницы.
Поддерживается начиная с Windows 10.
PhysicalAdapterIndex
Определяет индекс физического адаптера в конфигурации связанного адаптера дисплея. PTEs таблиц страниц на одном физическом адаптере может указывать на память на другом физическом адаптере.
Поддерживается начиная с Windows 10.
PageTablePageSize
Для записи таблицы на уровне 1 определяется размер страниц конечной таблицы PTEs. Значение предоставляется перечислителем DXGK_PTE_PAGE_SIZE. Это значение следует игнорировать, если поддерживается двойной PTE.
Поддерживается начиная с Windows 10.
SystemReserved0
BlockAccessMode
Reserved
Зарезервировано для использования системы и равно нулю.
Flags
Несоположенное значение структуры.
PageAddress
Высокий 52-разрядный физический адрес 64-разрядного физического адреса страницы памяти. Низкий 12 бит равен нулю. Адрес является смещением от начала сегмента, определенного сегментаили системным адресом памяти.
PageTableAddress
Высокий 52-разрядный физический адрес 64-разрядного физического адреса таблицы страниц нижнего уровня. Низкий 12 бит равен нулю. Адрес является смещением от начала сегмента, определенного сегментаили системным адресом памяти.
Поддерживается начиная с Windows 10.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Доступно в Windows 7 и более поздних версиях операционных систем Windows. |
| заголовка | d3dukmdt.h (include D3dkmddi.h) |