estrutura DXGK_DRIVERCAPS (d3dkmddi.h)
A estrutura DXGK_DRIVERCAPS descreve as funcionalidades de um driver de miniporto de exibição que o driver fornece por meio de uma chamada para sua função DxgkDdiQueryAdapterInfo .
Sintaxe
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;
Membros
[out] HighestAcceptableAddress
Um tipo de dados PHYSICAL_ADDRESS (que é definido como LARGE_INTEGER) que indica o endereço físico mais aceitável da memória do sistema (RAM) a ser usado.
[out] MaxAllocationListSlotId
O número máximo de identificadores de slot de lista de alocação. Um slot de lista de alocação representa onde uma alocação é direcionada em buffer de DMA (acesso direto à memória).
[out] ApertureSegmentCommitLimit
O número máximo de bytes de memória física que o driver de miniporto de exibição dá suporte para mapeamento em um segmento de abertura. O gerenciador de memória de vídeo não mapeará mais memória física em um segmento de abertura do que o limite especificado por ApertureSegmentCommitLimit .
[out] MaxPointerWidth
A largura máxima do ponteiro do mouse, em pixels.
[out] MaxPointerHeight
A altura máxima do ponteiro do mouse, em linhas de verificação.
[out] PointerCaps
Uma estrutura de DXGK_POINTERFLAGS que identifica os recursos do ponteiro do mouse, em sinalizadores de campo de bit, aos quais o driver pode dar suporte.
[out] InterruptMessageNumber
O número da mensagem usado se forem usadas interrupções sinalizadas por mensagem e o driver chamar a função DxgkCbNotifyInterrupt do manipulador de interrupção correspondente a um número de mensagem fixo.
[out] NumberOfSwizzlingRanges
O número de intervalos de swizzling aos quais o driver pode dar suporte.
[out] MaxOverlays
O número máximo de sobreposições às quais o driver pode dar suporte.
[out] GammaRampCaps
Uma estrutura DXGK_GAMMARAMPCAPS que identifica os recursos de rampa de gama, em sinalizadores de campo de bits, aos quais o driver pode dar suporte.
[out] ColorTransformCaps
Sinalizadores para descrever as funcionalidades de transformação de espaço gama e de cores dos pipelines de exibição. OBSERVAÇÃO: esse campo substitui o GammaRampCaps na versão pré-WDDM 2.2 dessa estrutura.
[out] PresentationCaps
Uma estrutura DXGK_PRESENTATIONCAPS que identifica os recursos de apresentação, em sinalizadores de campo de bits, aos quais o driver pode dar suporte.
[out] MaxQueuedFlipOnVSync
O número de inversãos que podem ser enfileiradas e pendentes no hardware gráfico. Cada inversão é travada em um DAC (conversor digital para analógico) em cada interrupção VSync, em ordem, à medida que o hardware gráfico enfileira a inversão.
[out] FlipCaps
Uma estrutura DXGK_FLIPCAPS que identifica os recursos de inversão, em sinalizadores de campo de bit, aos quais o driver pode dar suporte.
[out] SchedulingCaps
Uma estrutura DXGK_VIDSCHCAPS que identifica os recursos de agendamento da GPU (unidade de processamento gráfico), em sinalizadores de campo de bit, aos quais o driver pode dar suporte.
[out] MemoryManagementCaps
Uma estrutura DXGK_VIDMMCAPS que identifica os recursos de gerenciamento de memória de vídeo aos quais o driver pode dar suporte.
[out] GpuEngineTopology
Uma estrutura DXGK_GPUENGINETOPOLOGY que descreve a topologia do mecanismo de GPU à qual o driver pode dar suporte.
[out] WDDMVersion
Um valor DXGK_WDDMVERSION que identifica a versão do WDDM. Com suporte a partir do Windows 7.
Se um driver der suporte a recursos do Windows 7 ou posteriores (DXGKDDI_INTERFACE_VERSION ≥ DXGKDDI_INTERFACE_VERSION_WIN7), esse membro será reservado e deverá ser definido como zero.
Para drivers mais antigos que não dão suporte a recursos do Windows 7 ou posteriores (DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WIN7):
- Para compilar o driver com o WDK do Windows 7 (versão 7600), defina esse membro como DXGKDDI_WDDMv1.
- Para compilar o driver com o WDK do Windows 8, defina esse membro como DXGKDDI_WDDMv1_2.
Reserved
Reservado.
Reserved1
Reservado.
[out] PreemptionCaps
Uma estrutura D3DKMDT_PREEMPTION_CAPS que descreve os recursos para a preempção de solicitações gráficas de GPU compatíveis com o driver.
Com suporte a partir do Windows 8.
[out] SupportNonVGA
Se TRUE, o driver dá suporte à redefinição do dispositivo de exibição e à liberação da propriedade do dispositivo post (teste automático) de ativação atual usando a função DxgkDdiStopDeviceAndReleasePostDisplayOwnership .
Com suporte a partir do Windows 8.
[out] SupportSmoothRotation
Se TRUE, o driver dá suporte à atualização da rotação de caminho no adaptador usando a função DxgkDdiUpdateActiveVidPnPresentPath , sem exigir que um novo VidPN seja criado e definido.
Com suporte a partir do Windows 8.
[out] SupportPerEngineTDR
Se TRUE, o driver dá suporte à redefinição de mecanismos de GPU individuais.
Se esse membro estiver definido, o driver de miniporto de exibição deverá implementar as funções DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatus e DxgkDdiResetEngine .
Com suporte a partir do Windows 8.
[out] SupportDirectFlip
Se TRUE, o driver dá suporte à criação e abertura de alocações primárias gerenciadas compartilhadas. Um valor true também indica o seguinte:
- O driver de miniporto de exibição garante que, quando a função DxgkDdiSetVidPnSourceAddress for chamada, o driver não permitirá que a memória de vídeo seja invertida para uma alocação incompatível.
- O driver de modo de usuário valida os recursos do Direct Flip antes que o DWM (Gerenciador do Windows da Área de Trabalho) os use.
Somente o DWM pode inverter a memória de vídeo para recursos do Direct Flip. O DWM valida esses recursos usando a função CheckDirectFlipSupport no modo de usuário.
Com suporte a partir do Windows 8.
[out] SupportMultiPlaneOverlay
Se TRUE, o driver de miniporta de exibição dá suporte a sobreposições multiplane e o driver também deve definir um valor para o membro MaxOverlayPlanes . Se FALSE, o subsistema de kernel de elementos gráficos DirectX não chamará funções de sobreposição multiplano.
Suporte começando com Windows 8.1.
[out] SupportRuntimePowerManagement
Se TRUE, o driver de miniporta de exibição dá suporte ao gerenciamento de energia em tempo de execução.
Se esse membro estiver definido, o driver de miniporto de exibição deverá implementar as funções DxgkDdiSetPowerComponentFState e DxgkDdiPowerRuntimeControlRequest .
Com suporte a partir do Windows 8.
[out] SupportSurpriseRemovalInHibernation
Se TRUE, o driver de miniporto de exibição dá suporte à limpeza de recursos de software depois que um dispositivo de exibição externo no modo de hibernação é desconectado do sistema.
Se esse membro for definido, o driver de miniporto de exibição deverá implementar a função DxgkDdiNotifySurpriseRemoval com o parâmetro RemovalType definido como DxgkRemovalHibernation.
Para obter mais informações, consulte Usando recursos de adaptador cruzado em um sistema híbrido.
Com suporte a partir do Windows 8.
[out] HybridDiscrete
Se TRUE, o driver de miniporta de exibição será uma GPU discreta em um sistema híbrido.
Se esse membro estiver definido, o driver de miniporta de exibição deverá:
- suporte ao WDDM 1.3
- dar suporte a recursos de adaptador cruzado
- não têm saídas de exibição
Para obter mais informações, consulte Usando recursos de adaptador cruzado em um sistema híbrido.
Suporte começando com Windows 8.1.
[out] MaxOverlayPlanes
Se SupportRuntimePowerManagement for TRUE, o driver de miniporto de exibição deverá definir MaxOverlayPlanes como o número máximo de planos de sobreposição que podem ser exibidos simultaneamente em uma única saída, incluindo a superfície primária, para que ele possa dar suporte. Se o número de planos disponíveis for alterado quando o modo operacional for alterado, o driver deverá usar um número que reflita o melhor cenário.
Suporte começando com Windows 8.1.
HybridIntegrated
Indica se a GPU atual é híbrida.
InternalGpuVirtualAddressRangeStart
Início do intervalo de endereços virtuais da GPU interna.
InternalGpuVirtualAddressRangeEnd
Término do intervalo de endereços virtuais da GPU interna.
SupportSurpriseRemoval
Se TRUE, o driver de miniporta de exibição dá suporte à remoção surpresa.
[out] SupportMultiPlaneOverlayImmediateFlip
Se TRUE, o driver de miniporta de exibição dá suporte a inversãos imediatas para um plano de sobreposição multiplano, desde que a única alteração de valor seja o endereço físico a ser exibido.
[out] CursorScaledWithMultiPlaneOverlayPlane0
Se TRUE, o hardware de exibição sempre aplicará o mesmo fator de dimensionamento ao cursor de hardware que é aplicado ao plano 0 quando o alongamento de sobreposição de vários planos por plano for aplicado.
HybridAcpiChainingRequired
Indica que esse driver discreto híbrido requer o encadeamento de eventos ACPI disparados no adaptador integrado.
[out] MaxQueuedMultiPlaneOverlayFlipVSync
Indica que o número máximo de atualizações para um único plano pode ser feito em um único período vsync, em que a atualização mais recente substitui a atualização anterior. Se um driver der suporte à fila de inversão de hardware, o sistema operacional ignorará esse valor.
MiscCaps
Funcionalidades diversas.
MiscCaps.SupportContextlessPresent
Dá suporte ao contexto nulo em chamadas DDI. Quando esse valor for definido, o sistema operacional passará o contexto NULL nos DDIs relacionados presentes. Com suporte a partir do WDDM 2.4.
MiscCaps.Detachable
Desanexável, ou seja, hot-pluggable. Os drivers definirão esse bit durante a inicialização do adaptador se o adaptador for conectável a quente. Com suporte a partir do WDDM 2.4.
MiscCaps.VirtualGpuOnly
O adaptador não deve ser usado por aplicativos Direct3D no host. Com suporte a partir do WDDM 2.5.
MiscCaps.ComputeOnly
Dá suporte a dispositivos Compute-Only renderizando os recursos de dispositivo somente renderização do WDDM. Com suporte a partir do Windows 10, versão 1901 (WDDM 2.6)
MiscCaps.IndependentVidPnVSyncControl
Os drivers que definem essa funcionalidade devem ler o VidPnSourceId especificado em DdiControlInterrupt3 e controlar o VSync no VidPnSourceId mencionado. Com suporte a partir do Windows 10, versão 2004 (WDDM 2.7).
MiscCaps.NoHybridDiscreteDListDllSupport
Indica se um driver dá suporte a uma lista d. Com suporte a partir do Windows 10, versão 2004 (WDDM 2.8).
MiscCaps.DisplayableSupport
Indica se um driver dá suporte ao recurso exibivel. Com suporte a partir do Windows 11 (WDDM 3.0).
MiscCaps.NoHybridDiscreteDListDllMuxSupport
MiscCaps.CursorDoesNotSupportXorBlendWithMultiPlaneOverlay
MiscCaps.Reserved
Reservado.
MiscCaps.Value
Uma maneira alternativa de acessar os bits miscCaps .
MaxHwQueuedFlips
O número máximo de filas de inversão de hardware compatíveis com o driver. Se o sistema operacional permitir suporte à fila de inversão de hardware, o driver poderá definir MaxHwQueuedFlips como um valor maior que 1. Adicionado no Windows Server 2022 (WDDM 2.9); com suporte a partir de Windows 11 (WDDM 3.0).
HwQueuedFlipCaps
Um valor DXGK_HWQUEUEDFLIP_CAPS que descreve os recursos de fila de inversão de hardware. Adicionado no Windows Server 2022 (WDDM 2.9); com suporte a partir de Windows 11 (WDDM 3.0).
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |
Confira também
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest