다음을 통해 공유


PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT 콜백 함수(d3d10umddi.h)

DWM(데스크톱 창 관리자)에서 호출하여 사용자 모드 드라이버가 직접 대칭 이동 작업을 지원하는지 확인합니다. 이 작업은 애플리케이션의 관리되는 기본 할당과 DWM의 관리되는 기본 할당 간에 비디오 메모리가 원활하게 대칭 이동됩니다.

구문

PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT Pfnd3d111DdiCheckdirectflipsupport;

void Pfnd3d111DdiCheckdirectflipsupport(
        D3D10DDI_HDEVICE unnamedParam1,
        D3D10DDI_HRESOURCE unnamedParam2,
        D3D10DDI_HRESOURCE unnamedParam3,
        UINT CheckDirectFlipFlags,
  [out] BOOL *pSupported
)
{...}

매개 변수

unnamedParam1

hDevice [in]

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

unnamedParam2

hResource1

애플리케이션의 스왑 체인에 있는 리소스입니다.

unnamedParam3

hResource2

DWM의 스왑 체인에 있는 리소스입니다.

CheckDirectFlipFlags

이 매개 변수의 값이 D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE 경우 원활한 대칭 이동이 즉시 발생해야 하며 VSync 인터럽트와 동기화할 필요가 없습니다.

[out] pSupported

드라이버가 애플리케이션의 관리되는 기본 할당과 DWM의 관리되는 기본 할당 간에 비디오 메모리를 원활하게 대칭 전환할 수 있는 경우 TRUE 로 설정합니다. 그렇지 않으면 를 FALSE로 설정합니다.

반환 값

없음

설명

이 함수는 DWM이 Direct Flip 스왑 체인에 표시를 시도하기 전에 적어도 한 번 호출됩니다. 또한 각 모드 변경이 발생한 후 또는 DWM이 어떤 이유로든 자체 스왑 체인을 다시 만든 후에 호출됩니다.

사용자 모드 드라이버는 애플리케이션 및 DWM의 관리되는 기본 할당에 다음과 같은 호환되는 리소스가 있는지 확인해야 합니다.

  • 스테레오 리소스.
  • 여러 샘플 MSAA(앤티앨리어싱) 형식입니다.
  • 스위즐 형식. 스위즐을 VSync 간격마다만 변경할 수 있는 경우 CheckDirectFlipFlags 매개 변수에 D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE 값이 없는지 확인합니다.
  • 두 관리되는 기본 할당은 모두 D3DDDI_ALLOCATIONINFO 구조에서 동일한 VidPnSourceId 값을 사용하여 만들어야 합니다.
  • 디스플레이 어댑터 구성이 연결됩니다.
사용자 모드 드라이버는 커널 모드 드라이버를 호출하여 이러한 유효성 검사를 수행해야 할 수 있습니다. 이렇게 하려면 pfnEscapeCb 콜백 함수를 호출한 다음 DxgkCbGetHandleData 함수를 호출하여 커널 모드 드라이버의 리소스 할당 데이터에 액세스합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 데스크톱
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

D3D11_1_DDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_ALLOCATIONINFO

DxgkCbGetHandleData

pfnEscapeCb