State-Refresh 콜백 함수 사용
사용자 모드 디스플레이 드라이버는 Direct3D 런타임 버전 10 State-Refresh 콜백 함수를 사용하여 상태 비저장 드라이버를 달성하거나 명령 버퍼 프리앰블 데이터를 빌드할 수 있습니다.
Direct3D 런타임은 createDevice(D3D10) 함수를 호출할 때 D3D10DDIARG_CREATEDEVICE 구조체의 pUMCallbacks 멤버가 가리키는 D3D10DDI_CORELAYER_DEVICECALLBACKS 구조의 상태 새로 고침 콜백 함수에 대한 포인터를 제공합니다.
예를 들어 사용자 모드 표시 드라이버는 pfnStateIaIndexBufCb 상태 새로 고침 콜백 함수를 호출할 수 있지만 드라이버는 드라이버의 IaSetIndexBuffer 함수에 대한 호출 내에 있습니다. 이 호출은 특히 사용자 모드 표시 드라이버가 pfnStateIaIndexBufCb 콜백 함수를 사용하여 프리앰블을 빌드할 수 있고 IaSetIndexBuffer 호출이 명령 버퍼의 크기를 소진하고 플러시를 일으킬 수 있기 때문에 매우 가능합니다. 이러한 경우 pfnStateIaIndexBufCb 에 대한 호출은 IaSetIndexBuffer에 대한 원래 호출과 동일한 "새" 바인딩 정보를 전달합니다. 이 경우 더 최적의 프리앰블이 발생합니다.