Compartir a través de


Uso de las funciones de devolución de llamada de State-Refresh

El controlador de pantalla en modo de usuario puede usar direct3D Runtime versión 10 State-Refresh funciones de devolución de llamada para lograr un controlador sin estado o para crear datos de preámbulo del búfer de comandos.

El tiempo de ejecución de Direct3D proporciona punteros a sus funciones de devolución de llamada de actualización de estado en la estructura D3D10DDI_CORELAYER_DEVICECALLBACKS a la que apunta el miembro pUMCallbacks de la estructura D3D10DDIARG_CREATEDEVICE en una llamada a la función CreateDevice(D3D10 ).

El controlador de pantalla en modo de usuario podría llamar, por ejemplo, a la función de devolución de llamada pfnStateIaIndexBufCb state-refresh, mientras que el controlador está dentro de una llamada a la función IaSetIndexBuffer del controlador. Esta llamada es bastante posible, especialmente porque el controlador de pantalla en modo de usuario podría usar la función de devolución de llamada pfnStateIaIndexBufCb para crear un preámbulo y la llamada a IaSetIndexBuffer podría agotar el tamaño del búfer de comandos y provocar un vaciado. Para tal situación, la llamada a pfnStateIaIndexBufCb pasa la misma información de enlace "nueva" que la llamada original a IaSetIndexBuffer. Esta situación da como resultado un preámbulo más óptimo.