DXGK_PRESENTATIONCAPS 구조체(d3dkmddi.h)
DXGK_PRESENTATIONCAPS 구조는 드라이버가 DxgkDdiQueryAdapterInfo 함수를 호출하여 제공하는 디스플레이 미니포트 드라이버의 프레젠테이션 기능을 식별합니다.
구문
typedef struct _DXGK_PRESENTATIONCAPS {
union {
struct {
UINT NoScreenToScreenBlt : 1;
UINT NoOverlapScreenBlt : 1;
UINT SupportKernelModeCommandBuffer : 1;
UINT NoSameBitmapAlphaBlend : 1;
UINT NoSameBitmapStretchBlt : 1;
UINT NoSameBitmapTransparentBlt : 1;
UINT NoSameBitmapOverlappedAlphaBlend : 1;
UINT NoSameBitmapOverlappedStretchBlt : 1;
UINT DriverSupportsCddDwmInterop : 1;
UINT Reserved0 : 1;
UINT AlignmentShift : 4;
UINT MaxTextureWidthShift : 3;
UINT MaxTextureHeightShift : 3;
UINT SupportAllBltRops : 1;
UINT SupportMirrorStretchBlt : 1;
UINT SupportMonoStretchBltModes : 1;
UINT StagingRectStartPitchAligned : 1;
UINT NoSameBitmapBitBlt : 1;
UINT NoSameBitmapOverlappedBitBlt : 1;
UINT Reserved1 : 1;
UINT NoTempSurfaceForClearTypeBlend : 1;
UINT SupportSoftwareDeviceBitmaps : 1;
UINT NoCacheCoherentApertureMemory : 1;
UINT SupportLinearHeap : 1;
#if ...
UINT Reserved : 1;
#else
UINT Reserved : 4;
#endif
};
UINT Value;
};
} DXGK_PRESENTATIONCAPS;
멤버
[in] NoScreenToScreenBlt
디스플레이 미니포트 드라이버가 기본 표면에서 동일한 기본 표면으로 비트 블록 전송(비트블렛)을 수행할 수 있는지 여부를 지정하는 UINT 값입니다. NoScreenToScreenBlt가 설정된 경우 드라이버는 화면 대 화면 비트 블록 전송을 수행할 수 없습니다. 따라서 Microsoft DirectX 그래픽 커널 하위 시스템(Dxgkrnl.sys)은 드라이버에 이러한 비트 블록 전송을 수행하도록 요청하지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000001)의 첫 번째 비트를 설정하는 것과 같습니다.
[in] NoOverlapScreenBlt
디스플레이 미니포트 드라이버가 겹치는 비트 블록 전송을 수행할 수 있는지 여부를 지정하는 UINT 값입니다. NoOverlapScreenBlt가 설정된 경우 드라이버는 겹치는 비트 블록 전송을 수행할 수 없습니다. 따라서 DirectX 그래픽 커널 하위 시스템은 드라이버에 이러한 비트 블록 전송을 수행하도록 요청하지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000002)의 두 번째 비트를 설정하는 것과 같습니다.
SupportKernelModeCommandBuffer
[in] 디스플레이 미니포트 드라이버가 GDI 하드웨어 가속 명령 버퍼 처리를 지원하는지 여부를 지정하는 UINT 값입니다. SupportKernelModeCommandBuffer가 설정된 경우 DirectX 그래픽 커널 하위 시스템이 디스플레이 미니포트 드라이버의 DxgkDdiRenderKm 함수를 호출할 때 드라이버는 다양한 하드웨어 가속 비트 블록 전송(비트블렛) 및 채우기 작업을 수행할 수 있습니다.
Windows 7부터 지원됩니다.
[in] NoSameBitmapAlphaBlend
원본 및 대상 할당이 동일한 경우 디스플레이 미니포트 드라이버가 알파 혼합 작업을 수행할 수 있는지 여부를 지정하는 UINT 값입니다. NoSameBitmapAlphaBlend가 설정된 경우 드라이버는 이러한 작업을 수행할 수 없으며 DirectX 그래픽 커널 하위 시스템은 이를 요청하지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000008)의 네 번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] NoSameBitmapStretchBlt
원본 및 대상 할당이 동일한 경우 디스플레이 미니포트 드라이버가 스트레치 비트 블록 전송 작업을 수행할 수 있는지 여부를 지정하는 UINT 값입니다. NoSameBitmapStretchBlt가 설정된 경우 드라이버는 이러한 작업을 수행할 수 없으며 DirectX 그래픽 커널 하위 시스템은 이를 요청하지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000010)의 다섯 번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] NoSameBitmapTransparentBlt
원본 및 대상 할당이 동일한 경우 디스플레이 미니포트 드라이버가 투명한 비트 블록 전송 작업을 수행할 수 있는지 여부를 지정하는 UINT 값입니다. NoSameBitmapStretchBlt가 설정된 경우 드라이버는 이러한 작업을 수행할 수 없으며 DirectX 그래픽 커널 하위 시스템은 이를 요청하지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000020)의 여섯 번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] NoSameBitmapOverlappedAlphaBlend
원본 및 대상 할당이 동일하고 원본 및 대상 사각형이 겹칠 때 디스플레이 미니포트 드라이버가 알파 혼합 작업을 수행할 수 있는지 여부를 지정하는 UINT 값입니다. NoSameBitmapOverlappedAlphaBlend가 설정된 경우 드라이버는 이러한 작업을 수행할 수 없으며 DirectX 그래픽 커널 하위 시스템은 이를 요청하지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000040)의 일곱 번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] NoSameBitmapOverlappedStretchBlt
원본 및 대상 할당이 동일하고 원본 및 대상 사각형이 겹칠 때 디스플레이 미니포트 드라이버가 스트레치 비트 블록 전송 작업을 수행할 수 있는지 여부를 지정하는 UINT 값입니다. NoSameBitmapOverlappedStretchBlt가 설정된 경우 드라이버는 이러한 작업을 수행할 수 없으며 DirectX 그래픽 커널 하위 시스템은 이를 요청하지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000080)의 8비트 설정과 동일합니다.
Windows 7부터 지원됩니다.
[in] DriverSupportsCddDwmInterop
디스플레이 미니포트 드라이버가 사용할 DWM(데스크톱 Windows 관리자)에 대한 사용자 모드 드라이버에서 만든 텍스처 할당에 대한 CDD(정식 디스플레이 드라이버) 제공 작업을 지원하는지 여부를 지정하는 UINT 값입니다. DriverSupportsCddDwmInterop이 설정된 경우 디스플레이 미니포트 드라이버는 이러한 현재 작업을 지원합니다.
디스플레이 미니포트 드라이버가 GDI 하드웨어 가속을 지원하는 경우 DriverSupportsCddDwmInterop 은 무시됩니다. 이 경우 드라이버는 사용자 모드 드라이버에서 만든 DWM 텍스처 할당에 대한 현재 CDD 작업을 지원해야 합니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000100)의 아홉 번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] Reserved0
이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000200)의 10번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] AlignmentShift
DXGK_GDIARG_XXX 구조체의 XxxPitch 멤버에 필요한 최소 맞춤 값(바이트)을 지정하는 UINT 값입니다. AlignmentShift 는 이진 지수로 제공됩니다. 예를 들어 필요한 맞춤 값을 16바이트로 지정하려면 디스플레이 미니포트 드라이버에서 AlignmentShift = 4를 설정해야 합니다. 최소값은 4 바이트 맞춤을 지정하는 AlignmentShift = 2입니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000400)의 11번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] MaxTextureWidthShift
디스플레이 미니포트 드라이버에서 지원하는 최대 텍스처 너비를 지정하는 UINT 값으로, 다음과 같이 계산됩니다.
지원되는 최대 텍스처 너비 = 2 ^ (MaxTextureWidthShift + 11) 텍셀.
예를 들어 MaxTextureWidthShift = 0인 경우 지원되는 최대 텍스처 너비는 2 ^ 11 = 2048입니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00000800)의 12번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] MaxTextureHeightShift
디스플레이 미니포트 드라이버에서 지원하는 최대 텍스처 높이를 지정하는 UINT 값으로, 다음과 같이 계산됩니다.
지원되는 최대 텍스처 높이 = 2 ^ (MaxTextureHeightShift + 11) 텍셀.
예를 들어 MaxTextureHeightShift = 0인 경우 지원되는 최대 텍스처 높이는 2 ^ 11 = 2048입니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00001000)의 13번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] SupportAllBltRops
디스플레이 미니포트 드라이버가 BitBlt 및 ColorFill 명령의 패턴으로 단색으로 모든 GDI ROP3 래스터 작업을 지원하는지 여부를 지정하는 UINT 값입니다. SupportAllBltRops가 설정된 경우 드라이버는 이러한 래스터 작업을 지원합니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00002000)의 14번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] SupportMirrorStretchBlt
디스플레이 미니포트 드라이버가 미러 모드에서 스트레치 Blt 작업(DXGK_GDIARG_STRETCHBLT 구조 사용)을 지원하는지 여부를 지정하는 UINT 값입니다. SupportMirrorStretchBlt가 설정된 경우 드라이버는 이러한 작업을 지원합니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00004000)의 15번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] SupportMonoStretchBltModes
디스플레이 미니포트 드라이버가 BLACKONWHITE 또는 WHITEONBLACK 단색 렌더링 모드에서 스트레치 Blt 작업( DXGK_GDIARG_STRETCHBLT 구조 사용)을 지원하는지 여부를 지정하는 UINT 값입니다. SupportMonoStretchBltModes가 설정된 경우 드라이버는 이러한 작업을 지원합니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00008000)의 16번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] StagingRectStartPitchAligned
디스플레이 미니포트 드라이버에 CPU 표시 스테이징 표면의 사각형에 있는 시작점(왼쪽 위 점)이 피치 정렬되어야 하는지 여부를 지정하는 UINT 값입니다. 즉, 왼쪽 좌표가 0입니다. AlignmentShift가 설정되면 사각형의 왼쪽 위 점이 피치 정렬됩니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00010000)의 17번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] NoSameBitmapBitBlt
원본 및 대상 할당이 동일한 경우 디스플레이 미니포트 드라이버가 비트 블록 전송 작업을 수행할 수 있는지 여부를 지정하는 UINT 값입니다. NoSameBitmapBitBlt가 설정된 경우 드라이버는 이러한 작업을 수행할 수 없습니다. 따라서 DirectX 그래픽 커널 하위 시스템은 드라이버가 이러한 작업을 수행하라는 요청을 하지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00020000)의 18번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] NoSameBitmapOverlappedBitBlt
원본 및 대상 할당이 동일하고 원본 및 대상 사각형이 겹칠 때 디스플레이 미니포트 드라이버가 비트 블록 전송 작업을 수행할 수 있는지 여부를 지정하는 UINT 값입니다. NoSameBitmapOverlappedBitBlt가 설정된 경우 드라이버는 이러한 작업을 수행할 수 없으며 DirectX 그래픽 커널 하위 시스템은 이를 요청하지 않습니다.
이 멤버를 설정하는 것은 32비트 값 멤버(0x00040000)의 19번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] Reserved1
이 멤버는 예약되어 있으며 0으로 설정해야 합니다. 이 멤버를 0으로 설정하는 것은 32비트 값 멤버(0x00080000)의 20번째 비트를 설정하는 것과 같습니다.
Windows 7부터 지원됩니다.
[in] NoTempSurfaceForClearTypeBlend
DXGK_RENDERKM_COMMAND 구조체의 ClearTypeBlend 멤버에 의해 지정된 명령을 처리하는 동안 드라이버에 임시 표면이 필요한지 여부를 지정하는 UINT 값입니다. NoTempSurfaceForClearTypeBlend가 설정된 경우 드라이버에 임시 표면이 필요하지 않습니다. 이 경우 드라이버는 비디오 메모리를 적게 사용합니다.
이 멤버를 0으로 설정하는 것은 32비트 값 멤버(0x00100000)의 21비트 설정과 동일합니다.
Windows 7부터 지원됩니다.
[in] SupportSoftwareDeviceBitmaps
이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00200000)의 22초 비트를 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
[in] NoCacheCoherentApertureMemory
드라이버가 캐시 일관성 조리개 메모리를 지원하지 않도록 지정하는 UINT 값입니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00400000)의 23번째 비트를 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
[in] SupportLinearHeap
드라이버는 스테이징 화면에서 선형 힙 할당을 지원합니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00800000)의 24번째 비트를 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
[in] Reserved
이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x01000000)의 25번째 비트를 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
[in] 이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x02000000)의 25번째 비트를 설정하는 것과 같습니다.
Windows 8 부터 지원합니다.
Value
드라이버의 프레젠테이션 기능을 식별하는 32비트 값입니다.
설명
디스플레이 미니포트 드라이버는 32비트 Value 멤버에서 비트를 설정하거나 DXGK_PRESENTATIONCAPS 포함된 구조체의 개별 멤버를 설정하여 프레젠테이션 기능을 지정할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
머리글 | d3dkmddi.h(D3dkmddi.h 포함) |