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를 호출할 때마다 이 절차를 수행해야 합니다.
- D3DDDICB_LOGUMDMARKER 구조체의 APISequenceNumber 멤버 값을 증분합니다.
- pfnSetMarker에 대한 마지막 호출을 사용하여 제출된 호출을 제출한 DDI(단일 스레드 디바이스 드라이버 인터페이스)와 연결된 컨텍스트를 결정합니다. 이러한 각 컨텍스트에 대해 다음을 수행합니다.
- 컨텍스트에 대한 명령 버퍼가 비어 있으면 아무 작업도 수행하지 않습니다.
- 그렇지 않은 경우:
- 컨텍스트의 기록 버퍼에서 더 많은 메모리를 사용할 수 있는지 확인합니다. 필요한 경우 버퍼를 플러시합니다.
- 현재 APISequenceNumber 값의 하위 32비트 를 포함하는 컨텍스트의 API 시퀀스 번호 버퍼에 다른 항목을 추가합니다.
- 현재 마커 이벤트 유형에 적합한 타임스탬프를 샘플링하고 작성합니다.
- 다음에 pfnSetMarker가 호출될 때 사용될 추적 데이터를 업데이트합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8.1,WDDM 1.3 이상 |
지원되는 최소 서버 | Windows Server 2012 R2 |
대상 플랫폼 | 데스크톱 |
머리글 | d3dumddi.h(D3d10umddi.h 포함) |