estrutura DXGK_DRIVERCAPS (d3dkmddi.h)
A estrutura DXGK_DRIVERCAPS descreve os recursos de um driver de miniporto de exibição que o driver fornece por meio de uma chamada para sua funçãoDxgkDdiQueryAdapterInfo.
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 aceitável mais alto 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 no 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 que especifica 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 DXGK_POINTERFLAGS que identifica as funcionalidades do ponteiro do mouse, em sinalizadores de campo de bit, que 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 que o driver pode dar suporte.
[out] MaxOverlays
O número máximo de sobreposições que o driver pode dar suporte.
[out] GammaRampCaps
Uma estrutura DXGK_GAMMARAMPCAPS que identifica os recursos de rampa gama, em sinalizadores de campo de bit, que o driver pode dar suporte.
[out] ColorTransformCaps
Sinalizadores para descrever os recursos de transformação de espaço de cores e gama 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 bit, que o driver pode dar suporte.
[out] MaxQueuedFlipOnVSync
O número de versões que podem ser enfileiradas e pendentes no hardware gráfico. Cada inverso é travado em um DAC (conversor digital para analógico) em cada interrupção VSync, em ordem, à medida que o hardware gráfico enfileira o flip.
[out] FlipCaps
Uma estrutura DXGK_FLIPCAPS que identifica os recursos de inversão, em sinalizadores de campo de bit, que 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, que o driver pode dar suporte.
[out] MemoryManagementCaps
Uma estrutura DXGK_VIDMMCAPS que identifica os recursos de gerenciamento de memória de vídeo que o driver pode dar suporte.
[out] GpuEngineTopology
Uma estrutura DXGK_GPUENGINETOPOLOGY que descreve a topologia do mecanismo de GPU que 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 VERDADEIRO, o driver oferecerá suporte à redefinição do dispositivo de exibição e à liberação da propriedade do dispositivo post (auto-teste) do power-on atual usando a funçãoDxgkDdiStopDeviceAndReleasePostDisplayOwnership.
Com suporte a partir do Windows 8.
[out] SupportSmoothRotation
Se TRUE, o driver oferecerá suporte à atualização da rotação do caminho no adaptador usando a funçãoDxgkDdiUpdateActiveVidPnPresentPath, sem exigir que um novo VidPN seja criado e definido.
Com suporte a partir do Windows 8.
[out] SupportPerEngineTDR
Se VERDADEIRO, o driver oferecerá 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, DxgkDdiQueryEngineStatuse DxgkDdiResetEngine.
Com suporte a partir do Windows 8.
[out] SupportDirectFlip
Se VERDADEIRO, o driver oferecerá suporte à criação e abertura de alocações primárias gerenciadas compartilhadas. Um valor de 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 de 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 o modo de usuário função CheckDirectFlipSupport.
Com suporte a partir do Windows 8.
[out] SupportMultiPlaneOverlay
Se TRUE, o driver de miniporto de exibição oferecerá suporte a sobreposições multiplano e o driver também deverá 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.
Com suporte a partir do Windows 8.1.
[out] SupportRuntimePowerManagement
Se verdadeiro, o driver de miniporto de exibição oferecerá 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 funções de DxgkDdiPowerRuntimeControlRequest.
Com suporte a partir do Windows 8.
[out] SupportSurpriseRemovalInHibernation
Se verdadeiro, 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 estiver 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 miniporto de exibição será uma GPU discreta em um sistema híbrido .
Se esse membro estiver definido, o driver de miniporto 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.
Com suporte a partir do Windows 8.1.
[out] MaxOverlayPlanes
Se SupportRuntimePowerManagement for true, o driver de miniporto de exibição deverá definir maxOverlayPlanes para 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, que ele pode 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.
Com suporte a partir do Windows 8.1.
HybridIntegrated
Indica se a GPU atual é híbrida.
InternalGpuVirtualAddressRangeStart
Início do intervalo de endereços virtuais interno da GPU.
InternalGpuVirtualAddressRangeEnd
Final do intervalo de endereços virtuais de GPU interno.
SupportSurpriseRemoval
Se TRUE, o driver de miniporto de exibição oferecerá suporte à remoção surpresa.
[out] SupportMultiPlaneOverlayImmediateFlip
Se TRUE, o driver de miniporto de exibição dá suporte a inversões 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 multiplano 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 do Vsync, em que a atualização mais recente substitui a atualização anterior. Se um driver der suporte a de 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 estiver acessível. 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 Compute-Only dispositivos 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 do 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 para um valor maior que 1. Adicionado no Windows Server 2022 (WDDM 2.9); com suporte a partir do 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 do Windows 11 (WDDM 3.0).
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista |
cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |
Consulte também
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest