다음을 통해 공유


PFND3DWDDM1_3DDI_SETMARKER 콜백 함수(d3d10umddi.h)

SetMarker에 대한 마지막 호출 이후 GPU 작업이 완료된 경우 사용자 모드 표시 드라이버에 새 타임스탬프를 생성해야 한다는 것을 알 수 있습니다.

구문

PFND3DWDDM1_3DDI_SETMARKER Pfnd3dwddm13DdiSetmarker;

void Pfnd3dwddm13DdiSetmarker(
  D3D10DDI_HDEVICE hDevice
)
{...}

매개 변수

hDevice

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

반환 값

없음

설명

드라이버는 pfnSetErrorCb 콜백 함수를 사용하여 오류 코드를 설정할 수 있습니다.

SetMarkerMode 함수의 Type 매개 변수의 표식 이벤트 형식이 D3DWDDM1_3DDI_MARKER_TYPE_NONE 않은 경우 사용자 모드 표시 드라이버는 SetMarker를 호출할 때마다 이 절차를 수행해야 합니다.

  1. D3DDDICB_LOGUMDMARKER 구조체의 APISequenceNumber 멤버 값을 증분합니다.

  2. SetMarker에 대한 마지막 호출을 사용하여 제출된 호출을 렌더링하는 DDI(단일 스레드 디바이스 드라이버 인터페이스)와 연결된 컨텍스트를 결정합니다. 각 컨텍스트에 대해 다음을 수행합니다.

    • 컨텍스트에 대한 명령 버퍼가 비어 있으면 아무 작업도 수행하지 않습니다.
    • 그렇지 않은 경우:
      • 컨텍스트의 기록 버퍼에서 더 많은 메모리를 사용할 수 있는지 확인합니다. 필요한 경우 버퍼를 플러시합니다.
      • 현재 APISequenceNumber 값의 하위 32비트 를 포함하는 컨텍스트의 API 시퀀스 번호 버퍼에 다른 항목을 추가합니다.
      • 현재 마커 이벤트 유형에 적합한 타임스탬프를 샘플링하고 작성합니다.
  3. 다음에 SetMarker가 호출될 때 사용할 업데이트 추적 데이터입니다.

요구 사항

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

추가 정보

SetMarkerMode