Share via


estructura D3DDDI_MAPGPUVIRTUALADDRESS (d3dukmdt.h)

La estructura D3DDDI_MAPGPUVIRTUALADDRESS se usa con pfnMapGpuVirtualAddressCb para asignar un intervalo de direcciones virtuales de GPU a un intervalo de asignación específico o para colocarlo en el estado No válido o Cero .

Sintaxis

typedef struct D3DDDI_MAPGPUVIRTUALADDRESS {
  D3DKMT_HANDLE                           hPagingQueue;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   BaseAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   MinimumAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   MaximumAddress;
  D3DKMT_HANDLE                           hAllocation;
  D3DKMT_ALIGN64 D3DGPU_SIZE_T            OffsetInPages;
  D3DKMT_ALIGN64 D3DGPU_SIZE_T            SizeInPages;
  D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE Protection;
  D3DKMT_ALIGN64 UINT64                   DriverProtection;
  UINT                                    Reserved0;
  D3DKMT_ALIGN64 UINT64                   Reserved1;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   VirtualAddress;
  D3DKMT_ALIGN64 UINT64                   PagingFenceValue;
} D3DDDI_MAPGPUVIRTUALADDRESS;

Miembros

hPagingQueue

Identificador de la cola de paginación de dispositivos, que se usa para la operación.

BaseAddress

(Opcional) Si no es NULL, el administrador de memoria de vídeo intentará usar esta dirección como dirección base para la asignación. Si el intervalo entre BaseAddress y BaseAddress+Size no es gratuito, debe pertenecer a un intervalo, obtenido previamente llamando a pfnReserveGpuVirtualAddressCb o pfnMapGpuVirtualAddressCb.

El valor BaseAddress está en bytes y debe alinearse con el límite de la página de CPU. Si se especifica NULL, el administrador de memoria de vídeo seleccionará la dirección base para la asignación dentro de minimumAddress y MaximumAddress especificados.

MinimumAddress

(Opcional) Especifica la dirección virtual mínima de GPU que se debe tener en cuenta para el intervalo asignado.

El valor MinimumAddress está en bytes y debe alinearse con la página de 4 KB. Este parámetro se omite cuando BaseAddress != NULL.

MaximumAddress

(Opcional) Especifica la dirección virtual máxima de GPU que se debe tener en cuenta para el intervalo asignado. El administrador de memoria de vídeo garantizará que BaseAddress+Size<= MaximumAddress. Si MaximumAddress está establecido en NULL, el administrador de memoria de vídeo no aplicará ningún límite.

El valor MaximumAddress está en bytes y debe alinearse con la página de 4 KB. Este parámetro se omite cuando BaseAddress != NULL.

hAllocation

Controle la asignación que se asigna al espacio de direcciones virtuales de GPU. Debe ser NULL cuando se especifica Protection.NoAccess o Protection.Zero .

OffsetInPages

Especifica el desplazamiento, en 4 KB, en la página inicial dentro de la asignación especificada que se debe asignar.

SizeInPages

Especifica el tamaño del intervalo que se va a asignar, en páginas de 4 KB.

Protection

Estructura de D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE que especifica la protección en la dirección virtual de GPU asignada.

DriverProtection

Especifica un valor de protección de 64 bits específico del controlador asociado al intervalo de VA que se va a asignar. La protección del controlador especificada se usará en la llamada a DxgkDdiUpdatePageTable para las entradas de la tabla de páginas correspondientes a este intervalo de direcciones virtuales.

Reserved0

Este miembro está reservado y debe establecerse en cero.

Reserved1

Este miembro está reservado y debe establecerse en cero.

VirtualAddress

Dirección virtual asignada a la asignación.

PagingFenceValue

Valor de barrera de paginación de dispositivos que indica el administrador de memoria de vídeo cuando se completa la operación de asignación en la GPU. El controlador en modo de usuario debe asegurarse de que esta barrera se retire o espere explícitamente en la CPU o en la GPU en esa barrera antes de permitir que la GPU acceda al intervalo asignado o se pueda producir un error irrecuperable. Es posible que se devuelva un valor de barrera cero, lo que significa que la operación ya se ha completado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Servidor mínimo compatible Windows Server 2016
Encabezado d3dukmdt.h (incluya D3dumddi.h, D3dkmddi.h)

Consulte también

D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE

D3DKMTMapGpuVirtualAddress

DxgkDdiUpdatePageTable

pfnMapGpuVirtualAddressCb

pfnReserveGpuVirtualAddressCb