Compartir a través de


estructura DXGK_DEVICEINFO (d3dkmddi.h)

La estructura DXGK_DEVICEINFO describe los parámetros que requiere el subsistema del kernel de gráficos de Microsoft DirectX desde el controlador de miniporte de pantalla.

Sintaxis

typedef struct _DXGK_DEVICEINFO {
  [out] UINT                 DmaBufferSize;
  [out] UINT                 DmaBufferSegmentSet;
  [out] UINT                 DmaBufferPrivateDataSize;
  [out] UINT                 AllocationListSize;
  [out] UINT                 PatchLocationListSize;
  [out] DXGK_DEVICEINFOFLAGS Flags;
} DXGK_DEVICEINFO;

Miembros

[out] DmaBufferSize

El tamaño, en bytes, del búfer de comandos de hardware que se envía a través del acceso directo a la memoria (DMA) al hardware.

El búfer DMA puede crecer y reducirse después de crear el dispositivo; sin embargo, el búfer DMA nunca puede reducirse más pequeño que el tamaño inicial que DmaBufferSize especifica.

[out] DmaBufferSegmentSet

Identificadores de los segmentos en los que los búferes DMA deben ser accesibles para la unidad de procesamiento gráfico (GPU).

[out] DmaBufferPrivateDataSize

Tamaño, en bytes, de la estructura de datos privados residentes en el controlador que está asociada a cada búfer DMA. La memoria de esta estructura de datos privada se asigna desde un grupo no paginado. Si el controlador especifica cero en DmaBufferPrivateDataSize, no se asigna memoria para la estructura de datos privada.

La estructura de datos privada asociada a un búfer DMA se inicializa en cero cuando se crea el búfer DMA. Durante la vigencia del búfer DMA, el administrador de memoria de vídeo nunca accede a la estructura de datos privada asociada al búfer DMA.

[out] AllocationListSize

Número inicial de elementos de una matriz de asignaciones (es decir, una matriz de estructuras DXGK_ALLOCATIONLIST ). Este número es el número inicial de asignaciones que el controlador solicita estar en los miembros pAllocationList de DXGKARG_PRESENT y DXGKARG_RENDER estructuras en llamadas a las funciones DxgkDdiPresent y DxgkDdiRender del controlador.

La lista de asignación puede crecer y reducirse después de crear el dispositivo; sin embargo, la lista de asignación nunca puede reducirse más pequeña que el tamaño inicial que AllocationListSize especifica.

[out] PatchLocationListSize

Número inicial de elementos de una matriz de ubicaciones de revisión (es decir, una matriz de estructuras de D3DDDI_PATCHLOCATIONLIST ) para el dispositivo en modo de usuario y modo kernel. Este número es el número inicial de ubicaciones de revisión que el controlador solicita estar en los miembros pPatchLocationListIn de DXGKARG_RENDER estructuras en llamadas a su función DxgkDdiRender .

La lista de ubicación de revisión puede crecer y reducirse después de crear el dispositivo; sin embargo, la lista de ubicación de revisión nunca puede reducirse más pequeño que el tamaño inicial que Especifica PatchLocationListSize .

[out] Flags

Estructura DXGK_DEVICEINFOFLAGS que identifica, en marcas de campo de bits, información sobre el dispositivo.

Comentarios

El controlador de minipuerto de pantalla especifica valores para los miembros DmaBufferSize y AllocationListSize para garantizar lo siguiente:

  • El subsistema de gráficos directX solo puede usar un búfer DMA para mostrar (mediante la función DxgkDdiPresent del controlador de miniporte de pantalla) al menos una estructura RECT para todos los escenarios.
  • Los tamaños de los búferes de lista de asignaciones y DMA son lo suficientemente grandes como para contener al menos un comando que no se puede dividir entre varios búferes.
  • Los tamaños de DMA y los búferes de lista de asignación son lo suficientemente grandes como para evitar la instalación y la sobrecarga de DMA.
El controlador de minipuerto de pantalla solo puede especificar segmentos de apertura en el miembro DmaBufferSegmentSet ; si el controlador especifica un segmento de memoria, se produce un error de creación del dispositivo.

Si el controlador establece DmaBufferSegmentSet en 0, el administrador de memoria de vídeo asigna memoria contigua con paged-locked, que se asigna a la memoria combinada de escritura, para los búferes DMA. Por lo tanto, la GPU debe acceder a los búferes DMA mediante ciclos PCI en sistemas en los que no se permiten las transferencias de AGP que se producen fuera de la apertura de AGP.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Encabezado d3dkmddi.h (incluya D3dkmddi.h)

Consulte también

D3DDDI_PATCHLOCATIONLIST

DXGKARG_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_DEVICEINFOFLAGS

DxgkDdiCreateDevice

DxgkDdiPresent

DxgkDdiRender