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;
#if ...
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 정의됨)은 사용할 시스템 메모리(RAM)의 가장 높은 실제 주소를 나타냅니다.
[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 이면 드라이버는 새 VidPN을 만들고 설정할 필요가 없지만 DxgkDdiUpdateActiveVidPnPresentPath 함수를 사용하여 어댑터의 경로 회전 업데이트를 지원합니다.
Windows 8 시작 지원.
[out] SupportPerEngineTDR
TRUE 이면 드라이버는 개별 GPU 엔진 재설정을 지원합니다.
이 멤버가 설정되면 디스플레이 미니포트 드라이버는 DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatus 및 DxgkDdiResetEngine 함수를 구현해야 합니다.
Windows 8 시작 지원.
[out] SupportDirectFlip
TRUE 이면 드라이버는 공유 관리되는 기본 할당의 생성 및 열기를 지원합니다. TRUE 값은 다음을 나타냅니다.
- 디스플레이 미니포트 드라이버는 DxgkDdiSetVidPnSourceAddress 함수가 호출될 때 드라이버가 비디오 메모리를 호환되지 않는 할당으로 대칭 이동하도록 허용하지 않습니다.
- 사용자 모드 드라이버는 DWM(Desktop Windows Manager)에서 사용하기 전에 직접 대칭 이동 리소스의 유효성을 검사합니다.
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 이면 디스플레이 미니포트 드라이버는 최대 절전 모드의 외부 디스플레이 디바이스가 시스템에서 연결이 끊어진 후 소프트웨어 리소스 정리를 지원합니다.
이 멤버가 설정된 경우 디스플레이 미니포트 드라이버는 DxgkRemovalHibernation으로 설정된 RemoveType 매개 변수를 사용하여 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 기간 내에 수행할 수 있음을 나타냅니다. 여기서 가장 최근의 업데이트는 이전 업데이트를 재정의합니다.
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.Reserved
예약되어 있습니다.
MiscCaps.Value
MiscCaps 비트에 액세스하는 다른 방법입니다.
MaxHwQueuedFlips
드라이버에서 지원하는 최대 하드웨어 대칭 이동 큐 수입니다. OS에서 하드웨어 대칭 이동 큐 지원을 허용하는 경우 드라이버는 MaxHwQueuedFlips 를 1보다 큰 값으로 설정할 수 있습니다. Windows Server 2022(WDDM 2.9)부터 사용할 수 있습니다.
HwQueuedFlipCaps
드라이버에서 하드웨어 대기 대칭 이동이 지원되는지 여부를 나타냅니다. Windows Server 2022(WDDM 2.9)부터 지원됩니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows Vista |
| 헤더 | d3dkmddi.h(D3dkmddi.h 포함) |
참조
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest
피드백
다음에 대한 사용자 의견 제출 및 보기