estructura DXGK_DRIVERCAPS (d3dkmddi.h)
La estructura DXGK_DRIVERCAPS describe las funciones de un controlador de minipuerto de pantalla que proporciona el controlador a través de una llamada a su función DxgkDdiQueryAdapterInfo .
Sintaxis
typedef struct _DXGK_DRIVERCAPS {
[out] PHYSICAL_ADDRESS HighestAcceptableAddress;
[out] UINT MaxAllocationListSlotId;
[out] SIZE_T ApertureSegmentCommitLimit;
[out] UINT MaxPointerWidth;
[out] UINT MaxPointerHeight;
[out] DXGK_POINTERFLAGS PointerCaps;
[out] UINT InterruptMessageNumber;
[out] UINT NumberOfSwizzlingRanges;
[out] UINT MaxOverlays;
union {
[out] DXGK_GAMMARAMPCAPS GammaRampCaps;
[out] DXGK_COLORTRANSFORMCAPS ColorTransformCaps;
};
[out] DXGK_PRESENTATIONCAPS PresentationCaps;
[out] UINT MaxQueuedFlipOnVSync;
[out] DXGK_FLIPCAPS FlipCaps;
[out] DXGK_VIDSCHCAPS SchedulingCaps;
[out] DXGK_VIDMMCAPS MemoryManagementCaps;
[out] DXGK_GPUENGINETOPOLOGY GpuEngineTopology;
[out] DXGK_WDDMVERSION WDDMVersion;
DXGK_VIRTUALADDRESSCAPS_DEPRECATED Reserved;
DXGK_DMABUFFERCAPS_DEPRECATED Reserved1;
[out] D3DKMDT_PREEMPTION_CAPS PreemptionCaps;
[out] BOOLEAN SupportNonVGA;
[out] BOOLEAN SupportSmoothRotation;
[out] BOOLEAN SupportPerEngineTDR;
[out] BOOLEAN SupportDirectFlip;
[out] BOOLEAN SupportMultiPlaneOverlay;
[out] BOOLEAN SupportRuntimePowerManagement;
[out] BOOLEAN SupportSurpriseRemovalInHibernation;
[out] BOOLEAN HybridDiscrete;
[out] UINT MaxOverlayPlanes;
BOOLEAN HybridIntegrated;
D3DGPU_VIRTUAL_ADDRESS InternalGpuVirtualAddressRangeStart;
D3DGPU_VIRTUAL_ADDRESS InternalGpuVirtualAddressRangeEnd;
BOOLEAN SupportSurpriseRemoval;
[out] BOOLEAN SupportMultiPlaneOverlayImmediateFlip;
[out] BOOLEAN CursorScaledWithMultiPlaneOverlayPlane0;
BOOLEAN HybridAcpiChainingRequired;
[out] UINT MaxQueuedMultiPlaneOverlayFlipVSync;
union {
struct {
UINT SupportContextlessPresent : 1;
UINT Detachable : 1;
UINT VirtualGpuOnly : 1;
UINT ComputeOnly : 1;
UINT IndependentVidPnVSyncControl : 1;
UINT NoHybridDiscreteDListDllSupport : 1;
UINT DisplayableSupport : 1;
UINT NoHybridDiscreteDListDllMuxSupport : 1;
UINT CursorDoesNotSupportXorBlendWithMultiPlaneOverlay : 1;
#if ...
UINT Reserved : 23;
#elif
UINT Reserved : 25;
#elif
UINT Reserved : 26;
#elif
UINT Reserved : 27;
#elif
UINT Reserved : 28;
#elif
UINT Reserved : 29;
#else
UINT Reserved : 30;
#endif
};
UINT Value;
} MiscCaps;
UINT MaxHwQueuedFlips;
DXGK_HWQUEUEDFLIP_CAPS HwQueuedFlipCaps;
} DXGK_DRIVERCAPS;
Miembros
[out] HighestAcceptableAddress
Un tipo de datos PHYSICAL_ADDRESS (que se define como LARGE_INTEGER) que indica la dirección física más alta aceptable de memoria del sistema (RAM) que se va a usar.
[out] MaxAllocationListSlotId
Número máximo de identificadores de ranura de lista de asignación. Una ranura de lista de asignación representa dónde se dirige una asignación en el almacenamiento en búfer de acceso directo a memoria (DMA).
[out] ApertureSegmentCommitLimit
Número máximo de bytes de memoria física que admite el controlador de minipuerto de pantalla para la asignación en un segmento de apertura. El administrador de memoria de vídeo no asignará más memoria física a un segmento de apertura que el límite especificado por ApertureSegmentCommitLimit .
[out] MaxPointerWidth
Ancho máximo del puntero del mouse, en píxeles.
[out] MaxPointerHeight
Alto máximo del puntero del mouse, en líneas de examen.
[out] PointerCaps
Estructura DXGK_POINTERFLAGS que identifica las funcionalidades del puntero del mouse, en marcas de campo de bits, que el controlador puede admitir.
[out] InterruptMessageNumber
Número de mensaje que se usa si se usan interrupciones señaladas por mensaje y el controlador llama a la función DxgkCbNotifyInterrupt desde el controlador de interrupción correspondiente a un número de mensaje fijo.
[out] NumberOfSwizzlingRanges
El número de intervalos de desenlazamiento que el controlador puede admitir.
[out] MaxOverlays
Número máximo de superposiciones que el controlador puede admitir.
[out] GammaRampCaps
Estructura DXGK_GAMMARAMPCAPS que identifica las capacidades de rampa gamma, en marcas de campo de bits, que el controlador puede admitir.
[out] ColorTransformCaps
Marcas para describir las capacidades de transformación de espacio de color y gamma de las canalizaciones de visualización. NOTA: Este campo reemplaza a gammaRampCaps en la versión anterior de WDDM 2.2 de esta estructura.
[out] PresentationCaps
Estructura DXGK_PRESENTATIONCAPS que identifica las funcionalidades de presentación, en marcas de campo de bits, que el controlador puede admitir.
[out] MaxQueuedFlipOnVSync
Número de volteos que se pueden poner en cola y pendientes en el hardware gráfico. Cada volteo se pasa a un convertidor digital a analógico (DAC) en cada interrupción de VSync, en orden, ya que el hardware gráfico pone en cola el volteo.
[out] FlipCaps
Estructura DXGK_FLIPCAPS que identifica las funcionalidades de volteo, en marcas de campo de bits, que el controlador puede admitir.
[out] SchedulingCaps
Estructura DXGK_VIDSCHCAPS que identifica las funcionalidades de programación de la unidad de procesamiento gráfico (GPU), en marcas de campo de bits, que el controlador puede admitir.
[out] MemoryManagementCaps
Estructura DXGK_VIDMMCAPS que identifica las funcionalidades de administración de memoria de vídeo que el controlador puede admitir.
[out] GpuEngineTopology
Estructura DXGK_GPUENGINETOPOLOGY que describe la topología del motor de GPU que el controlador puede admitir.
[out] WDDMVersion
Valor de DXGK_WDDMVERSION que identifica la versión de WDDM. Se admite a partir de Windows 7.
Si un controlador admite características de Windows 7 o posteriores (DXGKDDI_INTERFACE_VERSION ≥ DXGKDDI_INTERFACE_VERSION_WIN7), este miembro está reservado y debe establecerse en cero.
Para controladores anteriores que no admiten características de Windows 7 o posteriores (DXGKDDI_INTERFACE_VERSION DXGKDDI_INTERFACE_VERSION_WIN7 < ):
- Para compilar el controlador con el WDK de Windows 7 (versión 7600), establezca este miembro en DXGKDDI_WDDMv1.
- Para compilar el controlador con el WDK de Windows 8, establezca este miembro en DXGKDDI_WDDMv1_2.
Reserved
Reservado.
Reserved1
Reservado.
[out] PreemptionCaps
Estructura D3DKMDT_PREEMPTION_CAPS que describe las funcionalidades para el adelantamiento de las solicitudes de gráficos de GPU que admite el controlador.
Se admite a partir de Windows 8.
[out] SupportNonVGA
Si es TRUE, el controlador admite el restablecimiento del dispositivo de pantalla y la liberación de la propiedad del dispositivo de prueba automática (POST) actual mediante la función DxgkDdiStopDeviceAndReleasePostDisplayOwnership .
Se admite a partir de Windows 8.
[out] SupportSmoothRotation
Si es TRUE, el controlador admite la actualización de la rotación de rutas de acceso en el adaptador mediante la función DxgkDdiUpdateActiveVidPnPresentPath , aunque no requiere que se cree y establezca un nuevo VidPN.
Se admite a partir de Windows 8.
[out] SupportPerEngineTDR
Si es TRUE, el controlador admite el restablecimiento de motores de GPU individuales.
Si se establece este miembro, el controlador de minipuerto de pantalla debe implementar las funciones DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatus y DxgkDdiResetEngine .
Se admite a partir de Windows 8.
[out] SupportDirectFlip
Si es TRUE, el controlador admite la creación y apertura de asignaciones principales administradas compartidas. Un valor de TRUE también indica lo siguiente:
- El controlador de minipuerto de pantalla garantiza que cuando se llama a la función DxgkDdiSetVidPnSourceAddress , el controlador no permite que la memoria de vídeo se volte a una asignación incompatible.
- El controlador en modo de usuario valida los recursos De volteo directo antes de que el Administrador de Windows de escritorio (DWM) los use.
Solo DWM puede voltear la memoria de vídeo a los recursos De volteo directo. DwM valida estos recursos mediante la función CheckDirectFlipSupport en modo de usuario.
Se admite a partir de Windows 8.
[out] SupportMultiPlaneOverlay
Si es TRUE, el controlador de minipuerto de pantalla admite superposiciones multiplano y el controlador también debe establecer un valor para el miembro MaxOverlayPlanes . Si es FALSE, el subsistema del kernel de gráficos de DirectX no llamará a funciones de superposición de varios planos.
Se admite a partir de Windows 8.1.
[out] SupportRuntimePowerManagement
Si es TRUE, el controlador de minipuerto de pantalla admite la administración de energía en tiempo de ejecución.
Si se establece este miembro, el controlador de minipuerto de pantalla debe implementar las funciones DxgkDdiSetPowerComponentFState y DxgkDdiPowerRuntimeControlRequest .
Se admite a partir de Windows 8.
[out] SupportSurpriseRemovalInHibernation
Si es TRUE, el controlador de minipuerto de pantalla admite la limpieza de recursos de software después de que un dispositivo de pantalla externo en modo de hibernación se desconecte del sistema.
Si se establece este miembro, el controlador de minipuerto de pantalla debe implementar la función DxgkDdiNotifySurpriseRemoval con el parámetro RemovalType establecido en DxgkRemovalHibernation.
Para obtener más información, consulte Uso de recursos entre adaptadores en un sistema híbrido.
Se admite a partir de Windows 8.
[out] HybridDiscrete
Si es TRUE, el controlador de minipuerto de pantalla es una GPU discreta en un sistema híbrido.
Si se establece este miembro, el controlador de minipuerto de pantalla debe:
- compatibilidad con WDDM 1.3
- compatibilidad con recursos entre adaptadores
- no tienen salidas de presentación
Para obtener más información, consulte Uso de recursos entre adaptadores en un sistema híbrido.
Se admite a partir de Windows 8.1.
[out] MaxOverlayPlanes
Si SupportRuntimePowerManagement es TRUE, el controlador de minipuerto de pantalla debe establecer MaxOverlayPlanes en el número máximo de planos de superposición que se pueden mostrar simultáneamente en una sola salida, incluida la superficie principal, que puede admitir. Si el número de planos disponibles cambiará cuando cambie el modo de funcionamiento, el controlador debe usar un número que refleje el mejor escenario.
Se admite a partir de Windows 8.1.
HybridIntegrated
Indica si la GPU actual es híbrida.
InternalGpuVirtualAddressRangeStart
Inicio interno del intervalo de direcciones virtuales de GPU.
InternalGpuVirtualAddressRangeEnd
Extremo interno del intervalo de direcciones virtuales de GPU.
SupportSurpriseRemoval
Si es TRUE, el controlador de minipuerto de pantalla admite la eliminación sorpresa.
[out] SupportMultiPlaneOverlayImmediateFlip
Si es TRUE, el controlador de minipuerto de pantalla admite volteos inmediatos a un plano de superposición multiplano siempre que el único valor que cambie es la dirección física que se va a mostrar.
[out] CursorScaledWithMultiPlaneOverlayPlane0
Si es TRUE, el hardware de pantalla siempre aplicará el mismo factor de escalado al cursor de hardware que se aplica al plano 0 cuando se aplica el ajuste de superposición multiplano por plano.
HybridAcpiChainingRequired
Indica que este controlador discreto híbrido requiere el encadenamiento de eventos ACPI desencadenados en el adaptador integrado.
[out] MaxQueuedMultiPlaneOverlayFlipVSync
Indica el número máximo de actualizaciones de un solo plano dentro de un único período de sincronización virtual, donde la actualización más reciente invalida la actualización anterior. Si un controlador admite cola de volteo de hardware, el sistema operativo omite este valor.
MiscCaps
Varias funcionalidades.
MiscCaps.SupportContextlessPresent
Admite el contexto null en las llamadas DDI. Cuando se establece este valor, el sistema operativo pasará el contexto NULL en los DDIs relacionados presentes. Se admite a partir de WDDM 2.4.
MiscCaps.Detachable
Desasociable, es decir, conectable caliente. Los controladores establecerán este bit durante la inicialización del adaptador si el adaptador es conectable en caliente. Se admite a partir de WDDM 2.4.
MiscCaps.VirtualGpuOnly
Las aplicaciones de Direct3D no deben usar el adaptador en el host. Se admite a partir de WDDM 2.5.
MiscCaps.ComputeOnly
Admite dispositivos Compute-Only mediante la representación de las funcionalidades de dispositivo de solo representación de WDDM. Se admite a partir de Windows 10, versión 1901 (WDDM 2.6)
MiscCaps.IndependentVidPnVSyncControl
Los controladores que establecen esta funcionalidad deben leer el VidPnSourceId especificado en DdiControlInterrupt3 y controlar VSync en el vidPnSourceId mencionado. Se admite a partir de Windows 10, versión 2004 (WDDM 2.7).
MiscCaps.NoHybridDiscreteDListDllSupport
Indica si un controlador admite una lista d. Se admite a partir de Windows 10, versión 2004 (WDDM 2.8).
MiscCaps.DisplayableSupport
Indica si un controlador admite la característica que se puede mostrar. Se admite a partir de Windows 11 (WDDM 3.0).
MiscCaps.NoHybridDiscreteDListDllMuxSupport
MiscCaps.CursorDoesNotSupportXorBlendWithMultiPlaneOverlay
MiscCaps.Reserved
Reservado.
MiscCaps.Value
Una manera alternativa de acceder a los bits MiscCaps .
MaxHwQueuedFlips
Número máximo de colas de volteo de hardware que admite el controlador. Si el sistema operativo permite la compatibilidad con colas invertidas de hardware, el controlador puede establecer MaxHwQueuedFlips en un valor mayor que 1. Agregado en Windows Server 2022 (WDDM 2.9); se admite a partir de Windows 11 (WDDM 3.0).
HwQueuedFlipCaps
Valor de DXGK_HWQUEUEDFLIP_CAPS que describe las funcionalidades de la cola de volteo de hardware. Agregado en Windows Server 2022 (WDDM 2.9); se admite a partir de Windows 11 (WDDM 3.0).
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Encabezado | d3dkmddi.h (incluya D3dkmddi.h) |
Consulte también
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest