PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB 콜백 함수(d3dumddi.h)
pfnUpdateGpuVirtualAddressCb 는 타일 리소스의 컨텍스트에서 사용되는 특수 작업입니다. 이를 통해 사용자 모드 드라이버는 단일 페이지 테이블 업데이트 일괄 처리에서 프로세스의 가상 주소 공간에 적용할 여러 매핑 작업을 지정할 수 있습니다.
모든 작업의 GPU(그래픽 처리 장치) 가상 주소 범위(복사 작업의 원본 주소 제외)는 pfnReserveGpuVirtualAddressCb를 호출하여 얻은 단일 가상 주소 범위에 속해야 합니다. 마찬가지로 복사 작업에서 모든 원본의 가상 주소 범위는 pfnReserveGpuVirtualAddressCb를 호출하여 얻은 단일 가상 주소 범위에 속해야 합니다.
페이지 테이블 업데이트는 지정된 렌더링 컨텍스트 전용 페이징 컨텍스트에서 실행되며, 지정된 모니터링된 펜스 개체에 대해 연결된 렌더링 컨텍스트 신호 FenceValue 후에만 GPU에서 실행됩니다. 페이지 테이블 업데이트가 완료되면 페이징 컨텍스트는 모니터링되는 펜스 개체를 FenceValue+1로 신호로 표시하여 렌더링 컨텍스트가 페이지 테이블 업데이트와 긴밀하게 연동되도록 합니다.
구문
PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Pfnd3dddiUpdategpuvirtualaddresscb;
HRESULT Pfnd3dddiUpdategpuvirtualaddresscb(
HANDLE hDevice,
const D3DDDICB_UPDATEGPUVIRTUALADDRESS *unnamedParam2
)
{...}
매개 변수
hDevice
디스플레이 디바이스에 대한 핸들입니다.
unnamedParam2
pData [in]
수행할 작업을 설명하는 D3DDDICB_UPDATEGPUVIRTUALADDRESS 구조체에 대한 포인터입니다.
반환 값
이 콜백 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
업데이트 작업의 가상 주소 범위는 교차할 수 있습니다. 작업은 제출된 순서대로 적용됩니다.
단일 pfnUpdateVirtualAddressCb 호출에서:
- 매핑 작업의 모든 가상 주소 범위와 복사 작업의 대상 범위는 동일한 예약된(0) 범위에 속해야 합니다.
- 복사 작업의 원본 가상 주소 범위는 다른 예약된(0) 범위에서 사용할 수 있습니다.
- 모든 복사 작업의 원본 가상 주소 범위는 동일한 예약된(0) 범위에 속해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 |
지원되는 최소 서버 | Windows Server 2016 |
대상 플랫폼 | 데스크톱 |
머리글 | d3dumddi.h(D3dumddi.h 포함) |