estructura DXGK_CONTEXTINFO (d3dkmddi.h)
La estructura DXGK_CONTEXTINFO describe un contexto de dispositivo.
Sintaxis
typedef struct _DXGK_CONTEXTINFO {
UINT DmaBufferSize;
UINT DmaBufferSegmentSet;
UINT DmaBufferPrivateDataSize;
UINT AllocationListSize;
UINT PatchLocationListSize;
UINT Reserved;
DXGK_CONTEXTINFO_CAPS Caps;
ULONG PagingCompanionNodeId;
} DXGK_CONTEXTINFO;
Miembros
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) a la unidad de procesamiento gráfico (GPU).
El búfer DMA puede crecer y reducirse después de crear el contexto; sin embargo, el búfer DMA nunca puede reducirse más pequeño que el tamaño inicial que DmaBufferSize especifica.
DmaBufferSegmentSet
Identificadores de los segmentos en los que se debe acceder al búfer DMA a la GPU.
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.
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 la DXGKARG_PRESENT y DXGKARG_RENDER estructuras en llamadas a las funciones DxgkDdiPresent y DxgkDdiRender del controlador, respectivamente.
La lista de asignación puede crecer y reducirse una vez creado el contexto; sin embargo, la lista de asignación nunca puede reducirse más pequeña que el tamaño inicial que AllocationListSize especifica.
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 las estructuras de DXGKARG_RENDER en llamadas a su función DxgkDdiRender .
La lista de ubicación de revisión puede crecer y reducirse después de crear el contexto; 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 .
Reserved
Este miembro está reservado y debe establecerse en cero.
Este miembro está disponible a partir de Windows 7.
Caps
Describe las características opcionales admitidas por el contexto.
Se admite a partir de Windows 10.
PagingCompanionNodeId
Especifica el identificador de motor de base cero del motor que se va a usar para este complemento de paginación de contexto.
Se admite a partir de Windows 10.
Comentarios
Un controlador de minipuerto de pantalla especifica valores para los miembros DmaBufferSize y AllocationListSize para garantizar que:
- El subsistema de gráficos de Microsoft DirectX solo puede usar un búfer de acceso directo a memoria (DMA) para mostrar (mediante la función DxgkDdiPresent del controlador de minipuerto 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 equipos donde no se permiten transferencias de AGP fuera de la apertura de AGP.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Encabezado | d3dkmddi.h (incluya D3dkmddi.h) |