PFND3DDDI_SETMARKER 콜백 함수(d3dumddi.h)

pfnSetMarker에 대한 마지막 호출 이후 GPU 작업이 완료된 경우 사용자 모드 표시 드라이버에 새 타임스탬프를 생성해야 한다는 것을 알 수 있습니다. 필요에 따라 Microsoft Direct3D 수준 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