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.
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) |