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] 대상 표면의 피치(바이트)입니다. 피치 사용에 대한 자세한 내용은 설명 섹션을 참조하세요.

설명

SrcPitchDstPitch 피치 값은 다음과 같은 형식 D3DKMDT_GDISURFACETYPE 할당에 대해 각각 SrcRectDstRect 사각형의 바이트 위치를 결정하는 데 사용해야 합니다.

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 포함)

추가 정보

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DXGK_GDIROP_BITBLT

DXGK_PRESENTATIONCAPS

RECT