DXGKDDI_SETCONTEXTSCHEDULINGPROPERTIES 콜백 함수(d3dkmddi.h)
디바이스 컨텍스트에 대한 예약 속성을 설정하거나 수정합니다.
구문
DXGKDDI_SETCONTEXTSCHEDULINGPROPERTIES DxgkddiSetcontextschedulingproperties;
NTSTATUS DxgkddiSetcontextschedulingproperties(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_SETCONTEXTSCHEDULINGPROPERTIES pSetContextSchedulingProperties
)
{...}
매개 변수
hAdapter
디바이스 컨텍스트에 대한 핸들입니다.
pSetContextSchedulingProperties
예약 속성을 포함하는 DXGKARG_SETCONTEXTSCHEDULINGPROPERTIES 구조체에 대한 포인터입니다.
반환 값
작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 NTSTATUS 값 오류 코드를 반환합니다.
설명
DXGKARG_SETCONTEXTSCHEDULINGPROPERTIES 적절한 멤버를 설정한 다음 DxgkDdiSetContextSchedulingProperties를 호출하여 이 콜백 함수의 구현을 등록합니다.
특정 프로세스에 대해 어댑터를 처음으로 열면 OS는 DxgkDdiCreateProcess 를 호출하여 KMD(커널 모드 드라이버)가 어댑터 추적 데이터 구조별로 프로세스별로 적절한 를 만들 수 있도록 합니다. 컨텍스트가 만들어지면 KMD는 만들어진 디바이스와 어댑터를 알고 있으며 이 프로세스에 대한 어댑터 추적 데이터 구조에서 KMD 프로세스 핸들을 조회할 수 있어야 합니다. KMD 프로세스 내에서 스케줄러는 네 가지 잠재적 우선 순위 대역 컨텍스트에 대한 추적 데이터 구조를 할당해야 합니다.
컨텍스트가 만들어지거나 Direct3D 디바이스가 우선 순위를 변경하거나 애플리케이션이 포커스를 얻거나 잃으면 OS는 GPU 스케줄러를 호출하여 예약 속성을 설정하거나 수정합니다. 새로 만든 컨텍스트의 경우 OS는 컨텍스트 예약 속성이 이 컨텍스트에 대한 첫 번째 제출이 허용되기 전에 설정되도록 보장합니다. 이 호출은 컨텍스트 실행 중간에 수행할 수 있습니다. GPU 스케줄러는 현재 일정 기간에 미치는 영향 측면에서 약간의 여유를 가지며 OS 요구 사항은 우선 순위 대역의 다음 일정 반복에 변경 내용이 적용되어야 한다는 것입니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | d3dkmddi.h |