다음을 통해 공유


PFND3DDDI_SUBMITCOMMANDCB 콜백 함수(d3dumddi.h)

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

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

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

일부 커널 모드 드라이버는 GPU에 특정 DMA(직접 메모리 액세스) 버퍼를 제출하는 방법에 대한 사용자 모드 드라이버의 정보가 필요합니다. WDDM(Windows Display Driver Model) 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