다음을 통해 공유


PFND3DDDI_BLT 콜백 함수(d3dumddi.h)

Blt 함수는 원본 표면의 내용을 대상 표면에 복사합니다.

구문

PFND3DDDI_BLT Pfnd3dddiBlt;

HRESULT Pfnd3dddiBlt(
  HANDLE hDevice,
  const D3DDDIARG_BLT *unnamedParam2
)
{...}

매개 변수

hDevice

디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

pData [in]

비트 블록 전송(bitblt)의 매개 변수를 설명하는 D3DDDIARG_BLT 구조체에 대한 포인터입니다.

반환 값

Blt는 다음 값 중 하나를 반환합니다.

반환 코드 설명
S_OK 리소스에 대한 비트블렛이 성공적으로 수행되었습니다.
E_OUTOFMEMORY Blt에서 완료하는 데 필요한 메모리를 할당할 수 없습니다.

설명

Microsoft Direct3D 런타임은 사용자 모드 디스플레이 드라이버의 Blt 함수를 호출하여 원본 표면의 내용을 대상 화면에 복사합니다. Surface 참조를 할당 참조에 매핑한 후 사용자 모드 표시 드라이버는 적절한 하드웨어 명령을 실행해야 합니다. 원본 또는 대상 할당이 시스템 메모리에 있는 경우 미해결 하드웨어 명령 스트림에 시스템 메모리 할당에 대한 참조가 포함된 경우 사용자 모드 표시 드라이버가 동기화(즉, pfnRenderCb 함수 호출)해야 할 수 있습니다. 원본 할당과 대상 할당이 모두 시스템 메모리에 있는 경우 드라이버는 필요에 따라 동기화해야 하지만 원본 표면의 내용을 복사해서는 안 됩니다. Direct3D 런타임은 pfnRenderCb 호출이 반환된 후 콘텐츠를 복사합니다.

사용자 모드 표시 드라이버는 복사 작업 중에 발생할 수 있는 다음 조건을 처리해야 합니다.

  • 대상 및 원본 표면은 동일한 리소스의 일부입니다(즉, D3DDDIARG_BLT hSrcResourcehDstResource 멤버는 동일한 리소스에 대한 핸들을 지정 합니다).
  • 원본 및 대상 사각형이 겹칩니다(즉, SrcRectRECT 구조와 D3DDDIARG_BLT 겹치는 DstRect 멤버의 좌표).
사용자 모드 디스플레이 드라이버는 비디오 메모리에서 시스템 메모리로 비트블렛을 포함하여 비디오 메모리와 비디오 메모리 간의 모든 비트블렛을 처리해야 합니다. 사용자 모드 디스플레이 드라이버가 GPU(그래픽 처리 장치)를 사용하여 비디오 메모리에서 시스템 메모리로 비트블렛을 실행할 수 없는 경우 사용자 모드 디스플레이 드라이버는 CPU를 사용하여 데이터를 복사할 수 있습니다.

사용자 모드 디스플레이 드라이버는 Microsoft DirectX 8.0 이전에 도입된 형식으로만 색 키를 지원해야 합니다. DirectX 8.0 이상 런타임에 도입된 형식의 경우 색 키 지정 지원이 필요하지 않습니다.

수행할 비트blt의 형식은 D3DDDIARG_BLT Flags 멤버에 지정된 비트 필드 플래그를 통해 표시됩니다. 비디오 메모리에서 비디오 메모리 비트블렛으로의 비디오 메모리에는 색 키 지정, 스트레칭, 미러링 및 선형-sRGB 형식 변환이 포함될 수 있습니다. 시스템 메모리에서 비디오 메모리 비트블렛으로의 확장 및 선형-sRGB 형식 변환이 포함될 수 있습니다. 그러나 이러한 유형의 비트블렛에는 미러링 또는 색 키가 포함되지 않습니다. 시스템 메모리 비트블렛에 대한 모든 비디오 메모리 및 시스템 메모리 비트블렛에 대한 시스템 메모리는 바로 복사만 됩니다. 즉, 이러한 유형의 비트블렛에는 스트레칭, 미러링, 색 키 지정 또는 선형-sRGB 형식 변환이 포함되지 않습니다. sRGB 형식에 대한 자세한 내용은 sRGB 웹 사이트를 참조하세요.

깊이 스텐실 값을 변환할 때 Blt 함수가 따라야 하는 규칙에 대한 자세한 내용은 Depth-Stencil 값 복사를 참조하세요.

Direct3D 런타임은 사용자 모드 디스플레이 드라이버의 Blt 함수를 호출하여 모든 원본 표면 유형(예: 오프스크린 일반 형식, 렌더링 대상 형식 또는 텍스처 형식)의 내용을 다른 대상 표면 유형으로 복사할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 d3dumddi.h(D3dumddi.h 포함)

추가 정보

D3DDDIARG_BLT

D3DDDI_DEVICEFUNCS

pfnRenderCb