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만 비디오 메모리를 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이면 디스플레이 미니포트 드라이버는 최대 절전 모드의 외부 디스플레이 디바이스가 시스템에서 연결이 끊어진 후 소프트웨어 리소스 정리를 지원합니다.
이 멤버가 설정된 경우 디스플레이 미니포트 드라이버는 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