다음을 통해 공유


PFND3DDDI_SETMARKER 콜백 함수(d3dumddi.h)

pfnSetMarker에 대한 마지막 호출 이후 GPU 작업이 완료된 경우 사용자 모드 표시 드라이버에 새 타임스탬프를 생성해야알 수 있습니다. 필요에 따라 Microsoft Direct3D Level 9 하드웨어에서 실행되는 WDDM(Windows Display Driver Model) 1.3 이상 드라이버에서 구현됩니다. (Direct3D 렌더링 성능 향상요구 사항을 참조하세요.) 고급 하드웨어의 경우 드라이버는 SetMarker 함수를 구현해야 합니다.

통사론

PFND3DDDI_SETMARKER Pfnd3dddiSetmarker;

HRESULT Pfnd3dddiSetmarker(
  HANDLE hDevice
)
{...}

매개 변수

hDevice

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

반환 값

함수가 성공적으로 완료되지 않은 경우 S_OK 또는 적절한 오류 결과를 반환합니다.

발언

pfnSetMarkerMode 함수의 Type 매개 변수의 표식 이벤트 형식이 D3DDDIMT_NONE않으면 사용자 모드 표시 드라이버는 pfnSetMarker호출할 때마다 이 절차를 수행해야 합니다.

  1. D3DDDICB_LOGUMDMARKER 구조체의 APISequenceNumber 멤버 값을 증분합니다.
  2. pfnSetMarker대한 마지막 호출을 사용하여 제출된 DDI(단일 스레드 디바이스 드라이버 인터페이스) 렌더링 호출과 연결된 컨텍스트를 결정합니다. 각 컨텍스트에 대해 다음을 수행합니다.
    1. 컨텍스트에 대한 명령 버퍼가 비어 있으면 아무 작업도 수행하지 않습니다.
    2. 그렇지 않으면:
      • 컨텍스트의 기록 버퍼에서 더 많은 메모리를 사용할 수 있는지 확인합니다. 필요한 경우 버퍼를 플러시합니다.
      • 현재 APISequenceNumber 값의 하위 32비트를 포함하는 컨텍스트의 API 시퀀스 번호 버퍼에 다른 항목을 추가합니다.
      • 현재 표식 이벤트 유형에 적합한 타임스탬프를 샘플링하고 작성합니다.
    3. 다음에 pfnSetMarker 호출될 때 사용할 업데이트 추적 데이터입니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 8.1,WDDM 1.3 이상
지원되는 최소 서버 Windows Server 2012 R2
대상 플랫폼 바탕 화면
헤더 d3dumddi.h(D3d10umddi.h 포함)

참고 항목

SetMarker

pfnSetMarkerMode