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
사용할 시스템 메모리(RAM)의 가장 높은 실제 주소를 나타내는 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
표시 파이프라인의 감마 및 색 공간 변환 기능을 설명하는 플래그입니다. 참고: 이 필드는 이 구조체의 WDDM 2.2 이전 버전에서 GammaRampCaps를 대체합니다.
[out] PresentationCaps
드라이버에서 지원할 수 있는 프레젠테이션 기능을 비트 필드 플래그로 식별하는 DXGK_PRESENTATIONCAPS 구조체입니다.
[out] MaxQueuedFlipOnVSync
그래픽 하드웨어에서 큐에 대기하고 보류할 수 있는 대칭 이동 수입니다. 각 대칭 이동은 그래픽 하드웨어가 대칭 이동 대기를 대기할 때마다 VSync 인터럽트마다 DAC(디지털-아날로그 변환기)로 래치됩니다.
[out] FlipCaps
드라이버가 지원할 수 있는 대칭 이동 기능을 비트 필드 플래그로 식별하는 DXGK_FLIPCAPS 구조체입니다.
[out] SchedulingCaps
드라이버에서 지원할 수 있는 GPU(그래픽 처리 장치) 예약 기능을 비트 필드 플래그로 식별하는 DXGK_VIDSCHCAPS 구조체입니다.
[out] MemoryManagementCaps
드라이버에서 지원할 수 있는 비디오 메모리 관리 기능을 식별하는 DXGK_VIDMMCAPS 구조체입니다.
[out] GpuEngineTopology
드라이버에서 지원할 수 있는 GPU 엔진 토폴로지 설명 하는 DXGK_GPUENGINETOPOLOGY 구조체입니다.
[out] WDDMVersion
WDDM의 버전을 식별하는 DXGK_WDDMVERSION 값입니다. Windows 7부터 지원됩니다.
드라이버가 Windows 7 이상 기능(DXGKDDI_INTERFACE_VERSION ≥ DXGKDDI_INTERFACE_VERSION_WIN7)을 지원하는 경우 이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
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
드라이버에서 지원하는 GPU 그래픽 요청의 선점 기능을 설명하는 D3DKMDT_PREEMPTION_CAPS 구조체입니다.
Windows 8부터 지원됩니다.
[out] SupportNonVGA
TRUE 경우 드라이버는 DxgkDdiStopDeviceAndReleasePostDisplayOwnership 함수를 사용하여 디스플레이 디바이스를 재설정하고 현재 POST(Power-On 자체 테스트) 디바이스의 소유권을 해제할 수 있습니다.
Windows 8부터 지원됩니다.
[out] SupportSmoothRotation
TRUE 경우 드라이버는 DxgkDdiUpdateActiveVidPnPresentPath 함수를 사용하여 어댑터의 경로 회전 업데이트를 지원하지만 새 VidPN을 만들고 설정할 필요가 없습니다.
Windows 8부터 지원됩니다.
[out] SupportPerEngineTDR
TRUE 경우 드라이버는 개별 GPU 엔진 재설정을 지원합니다.
이 멤버가 설정된 경우 디스플레이 미니포트 드라이버는 DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatus및 DxgkDdiResetEngine함수를구현해야 합니다.
Windows 8부터 지원됩니다.
[out] SupportDirectFlip
TRUE 경우 드라이버는 공유 관리되는 기본 할당의 생성 및 열기를 지원합니다. TRUE 값은 다음을 나타냅니다.
- 디스플레이 미니포트 드라이버는 DxgkDdiSetVidPnSourceAddress 함수가 호출될 때 드라이버가 비디오 메모리를 호환되지 않는 할당으로 대칭 이동하도록 허용하지 않습니다.
- 사용자 모드 드라이버는 DWM(데스크톱 Windows 관리자)에서 사용하기 전에 직접 대칭 이동 리소스의 유효성을 검사합니다.
DWM만 비디오 메모리를 직접 대칭 이동 리소스로 대칭 전환할 수 있습니다. DWM은 사용자 모드 CheckDirectFlipSupport 함수를 사용하여 이러한 리소스의 유효성을 검사합니다.
Windows 8부터 지원됩니다.
[out] SupportMultiPlaneOverlay
TRUE 경우 디스플레이 미니포트 드라이버는 다중 평면 오버레이를 지원하며 드라이버는 MaxOverlayPlanes 멤버에 대한 값도 설정해야 합니다. FALSE DirectX 그래픽 커널 하위 시스템은 다중 평면 오버레이 함수를 호출하지 않습니다.
Windows 8.1부터 지원됩니다.
[out] SupportRuntimePowerManagement
TRUE 경우 디스플레이 미니포트 드라이버는 런타임 전원 관리를 지원합니다.
이 멤버가 설정된 경우 디스플레이 미니포트 드라이버는 DxgkDdiSetPowerComponentFState 및 DxgkDdiPowerRuntimeControlRequest 함수를 구현해야 합니다.
Windows 8부터 지원됩니다.
[out] SupportSurpriseRemovalInHibernation
TRUE 경우 디스플레이 미니포트 드라이버는 최대 절전 모드에서 외부 디스플레이 디바이스의 연결이 끊긴 후 소프트웨어 리소스 정리를 지원합니다.
이 멤버가 설정되면 디스플레이 미니포트 드라이버는 RemoveType 매개 변수가 DxgkRemovalHibernation설정된 DxgkDdiNotifySurpriseRemoval 함수를 구현해야 합니다.
자세한 내용은 하이브리드 시스템 어댑터 간 리소스 사용참조하세요.
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 기간 내에 수행할 수 있음을 나타내며, 여기서 가장 최근의 업데이트는 이전 업데이트를 재정의합니다. 드라이버가 하드웨어 대칭 이동 큐지원하는 경우 OS는 이 값을 무시합니다.
MiscCaps
기타 기능.
MiscCaps.SupportContextlessPresent
DDI 호출에서 null 컨텍스트를 지원합니다. 이 값을 설정하면 OS는 현재 관련 DDI에서 NULL 컨텍스트를 전달합니다. WDDM 2.4부터 지원됨
MiscCaps.Detachable
분리 가능, 즉 핫 플러그형입니다. 어댑터가 핫 플러그 인 경우 어댑터를 초기화하는 동안 드라이버가 이 비트를 설정합니다. WDDM 2.4부터 지원됨
MiscCaps.VirtualGpuOnly
어댑터는 호스트의 Direct3D 애플리케이션에서 사용하면 안 됩니다. WDDM 2.5부터 지원됨
MiscCaps.ComputeOnly
WDDM의 렌더링 전용 디바이스 기능을 렌더링하여 Compute-Only 디바이스를 지원합니다. Windows 10 버전 1901부터 지원됨(WDDM 2.6)
MiscCaps.IndependentVidPnVSyncControl
이 기능을 설정하는 드라이버는 DdiControlInterrupt3에서 지정된 VidPnSourceId를 읽고 언급된 VidPnSourceId에서 VSync를 제어해야 합니다. 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
드라이버에서 지원하는 하드웨어 대칭 이동 큐의 최대 수입니다. OS에서 하드웨어 대칭 이동 큐 지원을 허용하는 경우 드라이버는 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