структура DXGK_DRIVERCAPS (d3dkmddi.h)
Структура DXGK_DRIVERCAPS описывает возможности драйвера мини-порта дисплея, который драйвер предоставляет через вызов функции DxgkDdiQueryAdapterInfo .
Синтаксис
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;
Члены
[out] HighestAcceptableAddress
Тип данных PHYSICAL_ADDRESS (который определяется как LARGE_INTEGER), указывающий наивысший допустимый физический адрес используемой системной памяти (ОЗУ).
[out] MaxAllocationListSlotId
Максимальное число идентификаторов слотов списка выделения. Слот списка выделения представляет, где выделение направляется в буферизации прямого доступа к памяти (DMA).
[out] ApertureSegmentCommitLimit
Максимальное количество байтов физической памяти, которое драйвер мини-порта дисплея поддерживает для сопоставления с сегментом диафрагмы. Диспетчер видеопамяти не будет сопоставлять больше физической памяти с сегментом диафрагмы, чем ограничение, указанное ApertureSegmentCommitLimit .
[out] MaxPointerWidth
Максимальная ширина указателя мыши в пикселях.
[out] MaxPointerHeight
Максимальная высота указателя мыши в линиях сканирования.
[out] PointerCaps
Структура DXGK_POINTERFLAGS, которая определяет возможности указателя мыши в флагах битовых полей, которые может поддерживать драйвер.
[out] InterruptMessageNumber
Номер сообщения, используемый, если используются прерывания с сигналом сообщения и драйвер вызывает функцию DxgkCbNotifyInterrupt из обработчика прерываний, соответствующего фиксированному номеру сообщения.
[out] NumberOfSwizzlingRanges
Количество диапазонов поворота, которые может поддерживать драйвер.
[out] MaxOverlays
Максимальное количество наложений, которое может поддерживать драйвер.
[out] GammaRampCaps
Структура DXGK_GAMMARAMPCAPS, определяющая возможности гамма-рампы в флагах битовых полей, которые может поддерживать драйвер.
[out] ColorTransformCaps
Флаги для описания возможностей преобразования гамма- и цветового пространства конвейеров отображения. Примечание. Это поле заменяет GammaRampCaps в предварительной версии WDDM 2.2 этой структуры.
[out] PresentationCaps
Структура DXGK_PRESENTATIONCAPS, определяющая возможности представления в флагах битовых полей, которые может поддерживать драйвер.
[out] MaxQueuedFlipOnVSync
Количество сальто, которое может быть поставлено в очередь и ожидалось на графическом оборудовании. Каждый флип помещается в цифровой аналоговый преобразователь (DAC) при каждом прерывании VSync по порядку, так как графическое оборудование помещает его в очередь.
[out] FlipCaps
Структура DXGK_FLIPCAPS , определяющая возможности переворачивания в флагах битовых полей, которые может поддерживать драйвер.
[out] SchedulingCaps
Структура DXGK_VIDSCHCAPS, определяющая возможности планирования графического процессора (GPU) в флагах битовых полей, которые может поддерживать драйвер.
[out] MemoryManagementCaps
Структура DXGK_VIDMMCAPS , определяющая возможности управления видеопамятью, которые может поддерживать драйвер.
[out] GpuEngineTopology
Структура DXGK_GPUENGINETOPOLOGY, описывающая топологию обработчика GPU, которую может поддерживать драйвер.
[out] WDDMVersion
Значение DXGK_WDDMVERSION , определяющее версию WDDM. Поддерживается начиная с Windows 7.
Если драйвер поддерживает функции Windows 7 или более поздних версий (DXGKDDI_INTERFACE_VERSION ≥ DXGKDDI_INTERFACE_VERSION_WIN7), этот элемент зарезервирован и должен иметь нулевое значение.
Для старых драйверов, которые не поддерживают функции Windows 7 или более поздних версий (DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WIN7):
- Чтобы скомпилировать драйвер с windows 7 WDK (версия 7600), задайте для этого элемента значение DXGKDDI_WDDMv1.
- Чтобы скомпилировать драйвер с помощью Windows 8 WDK, задайте для этого элемента значение DXGKDDI_WDDMv1_2.
Reserved
Зарезервировано.
Reserved1
Зарезервировано.
[out] PreemptionCaps
Структура D3DKMDT_PREEMPTION_CAPS, описывающая возможности вытеснения графических запросов GPU, поддерживаемых драйвером.
Поддерживается начиная с Windows 8.
[out] SupportNonVGA
Если задано значение TRUE, драйвер поддерживает сброс устройства дисплея и освобождение прав владения текущим устройством самопроверки с включением питания (POST) с помощью функции DxgkDdiStopDeviceAndReleasePostDisplayOwnership .
Поддерживается начиная с Windows 8.
[out] SupportSmoothRotation
Если задано значение TRUE, драйвер поддерживает обновление поворота пути на адаптере с помощью функции DxgkDdiUpdateActiveVidPnPresentPath , но не требует создания и установки нового VidPN.
Поддерживается начиная с Windows 8.
[out] SupportPerEngineTDR
Если задано значение TRUE, драйвер поддерживает сброс отдельных обработчиков GPU.
Если этот элемент задан, драйвер мини-порта дисплея должен реализовывать функции DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatus и DxgkDdiResetEngine .
Поддерживается начиная с Windows 8.
[out] SupportDirectFlip
Если задано значение TRUE, драйвер поддерживает создание и открытие общих управляемых первичных выделений. Значение TRUE также указывает на следующее:
- Драйвер мини-порта дисплея гарантирует, что при вызове функции DxgkDdiSetVidPnSourceAddress драйвер не разрешает переключение видеопамяти на несовместимое выделение.
- Драйвер пользовательского режима проверяет ресурсы Direct Flip, прежде чем диспетчер Windows (DWM) использует их.
Только DWM может переворачивать видеопамять в ресурсы Direct Flip. DWM проверяет эти ресурсы с помощью функции CheckDirectFlipSupport в пользовательском режиме.
Поддерживается начиная с Windows 8.
[out] SupportMultiPlaneOverlay
Если задано значение TRUE, драйвер мини-порта дисплея поддерживает многоплановые наложения, и драйвер также должен задать значение для элемента MaxOverlayPlanes . Если значение РАВНО FALSE, подсистема графического ядра DirectX не будет вызывать функции многопланового наложения.
Поддерживается начиная с Windows 8.1.
[out] SupportRuntimePowerManagement
Если задано значение TRUE, драйвер мини-порта дисплея поддерживает управление питанием во время выполнения.
Если этот элемент задан, драйвер мини-порта дисплея должен реализовывать функции DxgkDdiSetPowerComponentFState и DxgkDdiPowerRuntimeControlRequest .
Поддерживается начиная с Windows 8.
[out] SupportSurpriseRemovalInHibernation
Если задано значение TRUE, драйвер мини-порта дисплея поддерживает очистку программных ресурсов после отключения внешнего устройства дисплея в режиме гибернации от системы.
Если этот элемент задан, драйвер мини-порта дисплея должен реализовать функцию DxgkDdiNotifySurpriseRemoval с параметром RemovalType , равным DxgkRemovalHibernation.
Дополнительные сведения см. в статье Использование ресурсов между адаптерами в гибридной системе.
Поддерживается начиная с Windows 8.
[out] HybridDiscrete
Если задано значение TRUE, драйвер мини-порта дисплея является дискретным GPU в гибридной системе.
Если этот элемент задан, драйвер мини-порта дисплея должен:
- поддержка WDDM 1.3
- поддержка ресурсов между адаптерами
- не имеют отображаемых выходных данных
Дополнительные сведения см. в статье Использование ресурсов между адаптерами в гибридной системе.
Поддерживается начиная с Windows 8.1.
[out] MaxOverlayPlanes
Если параметру SupportRuntimePowerManagement присвоено значение TRUE, драйвер мини-порта дисплея должен задать maxOverlayPlanes максимальное количество плоскостей наложения, которые могут одновременно отображаться на одном выходе, включая основную поверхность, которые он может поддерживать. Если количество доступных плоскостей изменится при изменении режима работы, драйвер должен использовать число, отражающее оптимальный сценарий.
Поддерживается начиная с Windows 8.1.
HybridIntegrated
Указывает, является ли текущий GPU гибридным.
InternalGpuVirtualAddressRangeStart
Запуск внутреннего диапазона виртуальных адресов GPU.
InternalGpuVirtualAddressRangeEnd
Конец внутреннего диапазона виртуальных адресов GPU.
SupportSurpriseRemoval
Если задано значение TRUE, драйвер мини-порта дисплея поддерживает неожиданное удаление.
[out] SupportMultiPlaneOverlayImmediateFlip
Если задано значение TRUE, драйвер мини-порта дисплея поддерживает немедленное переворачивание в плоскость многопланового наложения, если единственным изменением значения является отображаемый физический адрес.
[out] CursorScaledWithMultiPlaneOverlayPlane0
Если задано значение TRUE, оборудование дисплея всегда будет применять тот же коэффициент масштабирования к аппаратному курсору, что и к плоскости 0 при применении растяжения многопланового наложения плоскости.
HybridAcpiChainingRequired
Указывает, что для этого гибридного дискретного драйвера требуется цепочка событий ACPI, активированных на интегрированном адаптере.
[out] MaxQueuedMultiPlaneOverlayFlipVSync
Указывает максимальное количество обновлений для одной плоскости, которое может быть выполнено в течение одного периода Vsync, когда последнее обновление переопределяет предыдущее обновление. Если драйвер поддерживает очередь аппаратного переворачивания, операционная система игнорирует это значение.
MiscCaps
Прочие возможности.
MiscCaps.SupportContextlessPresent
Поддерживает контекст NULL в вызовах DDI. Если это значение задано, ОС передает контекст NULL в имеющихся связанных DDIs. Поддерживается начиная с WDDM 2.4.
MiscCaps.Detachable
Отсоединяемый, т. е. с горячей заменой. Драйверы задают этот бит во время инициализации адаптера, если адаптер поддерживает горячее подключение. Поддерживается начиная с WDDM 2.4.
MiscCaps.VirtualGpuOnly
Адаптер не должен использоваться приложениями Direct3D на узле. Поддерживается начиная с WDDM 2.5.
MiscCaps.ComputeOnly
Поддерживает Compute-Only устройства путем отрисовки возможностей устройств WDDM только для отрисовки. Поддерживается с Windows 10 версии 1901 (WDDM 2.6)
MiscCaps.IndependentVidPnVSyncControl
Драйверы, задающие эту возможность, должны считывать указанный VidPnSourceId в DdiControlInterrupt3 и управлять VSync на указанном VidPnSourceId. Поддерживается начиная с Windows 10 версии 2004 (WDDM 2.7).
MiscCaps.NoHybridDiscreteDListDllSupport
Указывает, поддерживает ли драйвер d-List. Поддерживается начиная с Windows 10 версии 2004 (WDDM 2.8).
MiscCaps.DisplayableSupport
Указывает, поддерживает ли драйвер отображаемую функцию. Поддерживается начиная с Windows 11 (WDDM 3.0).
MiscCaps.NoHybridDiscreteDListDllMuxSupport
MiscCaps.CursorDoesNotSupportXorBlendWithMultiPlaneOverlay
MiscCaps.Reserved
Зарезервировано.
MiscCaps.Value
Альтернативный способ доступа к битам MiscCaps .
MaxHwQueuedFlips
Максимальное количество аппаратных очередей переворачивания, поддерживаемых драйвером. Если ОС разрешает поддержку аппаратной очереди переворачивания, драйвер может задать для MaxHwQueuedFlips значение больше 1. Добавлено в Windows Server 2022 (WDDM 2.9); поддерживается начиная с Windows 11 (WDDM 3.0).
HwQueuedFlipCaps
Значение DXGK_HWQUEUEDFLIP_CAPS , описывающее возможности очереди перевернутого оборудования. Добавлено в Windows Server 2022 (WDDM 2.9); поддерживается начиная с Windows 11 (WDDM 3.0).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Верхняя часть | d3dkmddi.h (включая D3dkmddi.h) |
См. также раздел
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest