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


Функция D3DKMTMapGpuVirtualAddress (d3dkmthk.h)

D3DKMTMapGpuVirtualAddress сопоставляет диапазон виртуальных адресов GPU с определенным диапазоном выделения или помещает его в состояние Invalid или Zero.

Синтаксис

NTSTATUS D3DKMTMapGpuVirtualAddress(
  D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam1
);

Параметры

unnamedParam1

[in/out] pData — это указатель на структуру D3DDDI_MAPGPUVIRTUALADDRESS, описывающую операцию.

Возвращаемое значение

Возвращаемый код Описание
STATUS_SUCCESS Контекст устройства успешно создан.
STATUS_INVALID_PARAMETER Параметры были проверены и определены как неверные.

Эта функция также может возвращать другие значения NTSTATUS.

Замечания

Драйвер может указать базовый виртуальный адрес GPU (VA) для сопоставления или автоматического выбора диспетчера памяти видео. При указании значения, отличного от NULL BaseAddress, весь диапазон от BaseAddress до BaseAddress+Size должен находиться в свободном состоянии или принадлежать диапазону va, полученному путем вызова D3DKMTMapGpuVirtualAddress или DxgkCbReserveGpuVirtualAddressRange. Если указан Protection.Zero или Protection.NoAccess, диапазон va не может принадлежать диапазону, полученному путем вызова MapGpuVirtualAddressCb.

Драйвер может указать, должно ли сопоставление разрешать запись и выполнение привилегий в дополнение к привилегиям чтения, которые всегда существуют по умолчанию.

В конфигурации связанного адаптера отображения (LDA) очередь разбиения по страницам определяет физический GPU, таблицы страниц которого изменяются, а дескриптор выделения (если не NULL) определяет, где указываются записи таблицы страниц. Выделение может находиться в любом физическом сегменте памяти GPU.

Диапазон VA GPU, выделенный API, освобождается при уничтожении выделения (с gpu VA). Диапазон va также можно освободить, вызвав D3DKMTFreeGpuVirtualAddress, но при необходимости его необходимо синхронизировать с уничтожением выделения.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10
минимальный поддерживаемый сервер Windows Server 2016
целевая платформа Всеобщий
заголовка d3dkmthk.h (include D3dkmthk.h)
библиотеки Gdi32.lib
DLL Gdi32.dll

См. также

DxgkCbReserveGpuVirtualAddressRange