PFND3DDDI_SUBMITCOMMANDCB 콜백 함수(d3dumddi.h)

pfnSubmitCommandCb 는 GPU(그래픽 처리 장치) 가상 주소 지정을 지원하는 컨텍스트에서 명령 버퍼를 제출하는 데 사용됩니다. 이러한 컨텍스트는 사용자 모드에서 직접 명령을 생성하고, 자체 명령 버퍼 풀을 관리하며, 할당 또는 패치 위치 목록을 사용하지 않습니다.

pfnSubmitCommandCb 는 이러한 컨텍스트에 대해 이전 pfnRenderCb 를 대체하며 해당 위치에서 사용해야 합니다. 레거시 패치 모드에서 작동하는 컨텍스트는 이전 pfnRenderCb를 계속 사용해야 합니다.

사용자 모드 드라이버는 패치 위치를 생성하지 않지만 기록되는 주 복제본 목록을 생성해야 합니다. 비디오 메모리 관리자는 할당 목록을 사용하여 각 명령 버퍼에서 쓰기 위해 참조되는 기본 할당을 결정합니다. 이 정보는 렌더링을 대칭 이동 작업과 주 복제본에 동기화하는 데 사용됩니다.

일부 커널 모드 드라이버에는 특정 DMA(직접 메모리 액세스) 버퍼를 GPU에 제출하는 방법에 대한 사용자 모드 드라이버의 정보가 필요합니다. Windows WDDM(디스플레이 드라이버 모델) 1.0에서 이 정보는 사용자 모드 드라이버에서 명령 버퍼를 통해 커널 모드 드라이버로 전송되었습니다. DMA 버퍼는 사용자 모드 드라이버에 의해 직접 빌드되고 수정 없이 GPU에 제출되므로 더 이상 커널 드라이버에 정보를 보내는 데 사용할 수 없습니다. 따라서 전송할 명시적 프라이빗 드라이버 데이터 버퍼를 제출과 함께 추가합니다. 이 프라이빗 드라이버 데이터는 단방향이며 커널 모드 드라이버는 이 버퍼를 통해 사용자 모드 드라이버에 정보를 반환할 수 없습니다.

구문

PFND3DDDI_SUBMITCOMMANDCB Pfnd3dddiSubmitcommandcb;

HRESULT Pfnd3dddiSubmitcommandcb(
  HANDLE hDevice,
  const D3DDDICB_SUBMITCOMMAND *unnamedParam2
)
{...}

매개 변수

hDevice

디스플레이 디바이스에 대한 핸들입니다.

unnamedParam2

pData [in]

수행할 작업을 설명하는 D3DDDICB_SUBMITCOMMAND 구조체에 대한 포인터입니다.

반환 값

이 콜백 함수가 성공하면 S_OK 반환합니다. 그렇지 않으면 HRESULT 오류 코드를 반환합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 10
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 데스크톱
헤더 d3dumddi.h(D3dumddi.h 포함)

참고 항목

D3DDDICB_SUBMITCOMMAND

pfnRenderCb