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
Tamaño, en bytes, del búfer de comandos de hardware que se envían a través del acceso directo a 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
Los identificadores de los segmentos en los que los búferes DMA deben ser accesibles para la unidad de procesamiento de gráficos (GPU).
[out] DmaBufferPrivateDataSize
Tamaño, en bytes, de la estructura de datos privados residentes en el controlador 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 de DXGK_ALLOCATIONLIST). Este número es el número inicial de asignaciones que el controlador solicita estar en el pAllocationList miembros de DXGKARG_PRESENT y estructuras de DXGKARG_RENDER en llamadas a la dxgkDdiPresent del controlador y funciones de DxgkDdiRender.
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 la pPatchLocationListIn miembros de estructuras de DXGKARG_RENDER en llamadas a su función de 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ña que el tamaño inicial que PatchLocationListSize especifica.
[out] Flags
Estructura DXGK_DEVICEINFOFLAGS que identifica, en marcas de campo de bits, información sobre el dispositivo.
Observaciones
El controlador de miniporte para mostrar especifica valores para los miembros de DmaBufferSize y AllocationListSize para garantizar lo siguiente:
- El subsistema de gráficos de DirectX solo puede usar un búfer DMA para mostrar (mediante el uso de la función del controlador de miniporte de pantalla DxgkDdiPresent) al menos una estructura RECT para todos los escenarios.
- Los tamaños de los búferes de lista de asignación 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 los búferes de lista de asignación y DMA son lo suficientemente grandes como para evitar la instalación y la sobrecarga de DMA.
Si el controlador establece DmaBufferSegmentSet en 0, el administrador de memoria de vídeo asigna memoria contigua bloqueada por paginación, que se asigna 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 AGP que se producen fuera de la apertura de AGP.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista |
encabezado de | d3dkmddi.h (incluya D3dkmddi.h) |