DXGK_GDIARG_BITBLT 구조체(d3dkmddi.h)
DXGK_GDIARG_BITBLT 구조체는 스트레칭 없이 GDI 하드웨어 가속 비트 블록 전송(비트블릿) 의 특성을 설명합니다.
구문
typedef struct _DXGK_GDIARG_BITBLT {
[in] RECT SrcRect;
[in] RECT DstRect;
UINT SrcAllocationIndex;
UINT DstAllocationIndex;
UINT NumSubRects;
RECT *pSubRects;
WORD Rop;
WORD Rop3;
UINT SrcPitch;
UINT DstPitch;
} DXGK_GDIARG_BITBLT;
멤버
[in] SrcRect
복사할 사각형 영역을 정의하는 RECT 구조체입니다. 이 사각형은 원본 표면의 좌표계에 지정되며 왼쪽 위와 오른쪽 아래의 두 점으로 정의됩니다. 사각형을 정의하는 두 지점은 항상 순서가 잘 정렬됩니다.
원본 사각형이 원본 표면의 범위를 초과할 수 있습니다.
이 사각형은 DstRect에서 정의한 대상 사각형에 매핑됩니다. SrcRect 는 하위 사각형을 원본 공간에서 대상 공간으로 변환하는 데 사용됩니다.
자세한 내용은 주의 섹션을 참조하세요.
[in] DstRect
수정할 사각형 영역을 정의하는 RECT 구조체입니다. 이 사각형은 대상 표면의 좌표계에 지정되며 왼쪽 위와 오른쪽 아래의 두 점으로 정의됩니다. 사각형은 오른쪽 아래에 배타적입니다. 즉, 아래쪽 및 오른쪽 가장자리는 비트 블록 전송의 일부가 아닙니다. 사각형을 정의하는 두 지점은 항상 순서가 잘 정렬됩니다.
DstRect에서 정의한 대상 사각형은 대상 표면의 범위를 초과할 수 있지만 하위 사각형은 초과할 수 없습니다. 또한 모든 하위 사각형은 대상 표면 내부에 적합하도록 보장됩니다. 하위 사각형은 대상 사각형보다 작은 경계 사각형으로 더 제한할 수 있습니다.
자세한 내용은 주의 섹션을 참조하세요.
SrcAllocationIndex
[in] SrcRect 원본 사각형에서 참조하는 할당을 지정하는 할당 목록의 요소 인덱스입니다.
DstAllocationIndex
[in] DstRect 대상 사각형에서 참조하는 할당을 지정하는 할당 목록의 요소 인덱스입니다.
NumSubRects
[in] DstRect 대상 사각형으로 제한된 대상 표면 공간의 하위 사각형 수입니다.
pSubRects
[in] DstRect 대상 사각형으로 제한된 대상 표면 공간의 하위 사각형에 대한 포인터입니다.
Rop
[in] DXGK_GDIROP_BITBLT 열거형의 상수 값으로 정의된 GDI 래스터 작업(ROP)을 지정하는 8비트 값입니다.
Rop3
[in] 브러시, 소스 비트맵 및 대상 비트맵을 256개의 가능한 조합 중 하나로 결합하는 ROP3(3차원 GDI 래스터 작업)을 지정하는 8비트 값입니다. 이 유형의 래스터 작업은 드라이버가 DXGK_PRESENTATIONCAPS 구조에서 SupportAllBltRops 멤버를 설정한 경우에만 처리됩니다.
SrcPitch
[in] 원본 표면의 피치(바이트)입니다. 피치 사용에 대한 자세한 내용은 설명 섹션을 참조하세요.
DstPitch
[in] 대상 표면의 피치(바이트)입니다. 피치 사용에 대한 자세한 내용은 설명 섹션을 참조하세요.
설명
SrcPitch 및 DstPitch 피치 값은 다음과 같은 형식 D3DKMDT_GDISURFACETYPE 할당에 대해 각각 SrcRect 및 DstRect 사각형의 바이트 위치를 결정하는 데 사용해야 합니다.
D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE
D3DKMDT_GDISURFACE_EXISTINGSYSMEM
다른 할당 유형에 대해서는 피치를 무시해야 합니다.
피치는 DXGK_PRESENTATIONCAPS 구조체의 AlignmentShift 멤버(즉,DXGK_DRIVERCAPS)에 따라 비트 블록 전송에 맞춰지도록 보장됩니다. PresentationCaps.AlignmentShift).
사각형이 좌표(왼쪽, 위쪽) 및 (오른쪽, 아래쪽)에서 두 픽셀로 정의되는 경우 첫 번째 픽셀의 주소는 다음과 같습니다.
Allocation.BaseAddress + (top * Pitch) + (left * 4)
사각형의 마지막 픽셀 주소는 다음과 같습니다.
Allocation.BaseAddress + ((bottom - 1) * Pitch) + ((right - 1) * 4)
하위 사각형이 원본 표면 공간으로 변환되면 결과가 원본 표면 내에 있음을 보장합니다. 이 변환은 다음 수식으로 정의됩니다.
<SrcSubRect.left = SubRect.left - DstRect.left + SrcRect.left;
SrcSubRect.right = SubRect.right - DstRect.left + SrcRect.left;
SrcSubRect.top = SubRect.top - DstRect.top + SrcRect.top;
SrcSubRect.bottom = SubRect.bottom - DstRect.top + SrcRect.top;
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 |
머리글 | d3dkmddi.h(D3dkmddi.h 포함) |