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


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

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

Синтаксис

NTSTATUS D3DKMTMapGpuVirtualAddress(
  D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam1
);

Параметры

unnamedParam1

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

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

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

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

Комментарии

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

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

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 10
Минимальная версия сервера Windows Server 2016
Целевая платформа Универсальное
Верхняя часть d3dkmthk.h (включая D3dkmthk.h)
Библиотека Gdi32.lib
DLL Gdi32.dll

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

DxgkCbReserveGpuVirtualAddressRange