Compartir a través de


Compatibilidad con dxGI DDI

Para admitir la interfaz del controlador de dispositivo de la infraestructura de gráficos de Microsoft DirectX (DXGI), el controlador de pantalla en modo usuario debe incluir el archivo de encabezado Dxgiddi.h . Dxgiddi.h también incluye el archivo de encabezado Dxgitype.h , que contiene definiciones que se comparten con construcciones DXGI de nivel de aplicación. Dxgiddi.h define varios puntos de entrada del controlador de pantalla en modo de usuario y una función de devolución de llamada DXGI que el controlador puede usar para comunicarse con el kernel (incluido el controlador de minipuerto de pantalla).

El tiempo de ejecución de Microsoft Direct3D proporciona acceso a DXGI DDI en la estructura DXGI_DDI_BASE_ARGS a la que apunta el miembro DXGIBaseDDI de la estructura D3D10DDIARG_CREATEDEVICE en una llamada a la función CreateDevice(D3D10). El controlador de pantalla en modo de usuario proporciona punteros a funciones DXGI.

El controlador implementa estas funciones a través de miembros de las estructuras a las que apuntan los miembros pDXGIDDIBaseFunctionsXxx de DXGI_DDI_BASE_ARGS . El controlador debe registrar el puntero a la tabla de funciones de devolución de llamada DXGI a la que apunta el miembro pDXGIBaseCallbacks de DXGI_DDI_BASE_ARGS para su uso posterior. El controlador debe registrar el puntero a la tabla de funciones de devolución de llamada DXGI en lugar de registrar el puntero individual a la función de devolución de llamada DXGI porque el tiempo de ejecución de Direct3D puede cambiar la dirección de la función de devolución de llamada siempre que no haya ningún subproceso dentro del controlador de pantalla en modo de usuario.

Existe un requisito adicional del controlador de pantalla en modo de usuario DXGI para los rasterizadores de software. Este controlador de pantalla en modo de usuario (más concretamente, cualquier controlador que no admita hardware que se comparte con la implementación de DDI de Direct3D versión 9 en el adaptador de gráficos) debe devolver el valor de DXGI_STATUS_NO_REDIRECTION en lugar del valor de S_OK de su función CreateDevice(D3D10). Este valor devuelto indica a DXGI que no debe usar la ruta de presentación de recursos compartidos para afectar a la comunicación con el Administrador de ventanas de escritorio (DWM). La ruta de presentación de recursos compartidos se crea cuando se producen llamadas a funciones de recursos compartidos (es decir, CreateResource(D3D10) y OpenResource(D3D10) con la marca D3D10_DDI_RESOURCE_MISC_SHARED establecida). Sin embargo, DXGI debe usar en su lugar técnicas relevantes para una cadena de intercambio cuyos búferes solo están disponibles para la CPU. Por ejemplo, DXGI debe mover los datos representados desde el búfer de reserva al escritorio por medios distintos de la ruta de presentación de recursos compartidos. En esta situación, DXGI llama realmente a la función PresentDXGI del controlador para mover datos representados en lugar de afectar la comunicación con DWM.

Funciones DXGI de Direct3D versión 10

En esta sección se describen las funciones de infraestructura de gráficos de Microsoft DirectX (DXGI) que el archivo DLL del controlador de pantalla en modo de usuario proporciona al entorno de ejecución de Microsoft Direct3D versión 10. El controlador proporciona punteros a funciones DXGI a través de los miembros de la estructura de DXGI_DDI_BASE_FUNCTIONS en una llamada a la función CreateDevice(D3D10) del controlador de pantalla en modo de usuario.

BltDXGI: GetGammaCapsDXGI

PresentDXGI: QueryResourceResidencyDXGI

ResolveSharedResourceDXGI: RotateResourceIdentitiesDXGI

SetDisplayModeDXGI: SetResourcePriorityDXGI

Funciones DXGI de Direct3D, versión 11.1

En esta sección se describen las funciones de microsoft DirectX Graphics Infrastructure (DXGI), implementadas por controladores de pantalla en modo de usuario, que se agregan para el entorno de ejecución de Microsoft Direct3D versión 11.1. Direct3D 11.1 se introdujo con Windows 8.

El archivo DLL del controlador de pantalla en modo de usuario exporta la función OpenAdapter10_2 y proporciona punteros a funciones específicas del adaptador a través de miembros de la estructura de D3D10_2DDI_ADAPTERFUNCS cuando el tiempo de ejecución llama a CreateDevice(D3D10).

El controlador proporciona punteros a las funciones DXGI de direct3D versión 11.1 a través de los miembros de la estructura de DXGI1_2_DDI_BASE_FUNCTIONS en una llamada a la función CreateDevice(D3D10) específica del adaptador del controlador de pantalla en modo de usuario.

Funciones DXGI de Direct3D versión 11.2

En las páginas de referencia de esta sección se describen las funciones de Microsoft DirectX Graphics Infrastructure (DXGI), implementadas por controladores de pantalla en modo usuario, que se agregan para el entorno de ejecución de Microsoft Direct3D Versión 11.2. Direct3D 11.2 se introdujo con Windows 8.1.

El archivo DLL del controlador de pantalla en modo de usuario exporta la función OpenAdapter10_2 y proporciona punteros a funciones específicas del adaptador a través de miembros de la estructura de D3D10_2DDI_ADAPTERFUNCS cuando el tiempo de ejecución llama a CreateDevice(D3D10).

El controlador proporciona punteros a las funciones DXGI de direct3D versión 11.2 a través de los miembros de la estructura de DXGI1_3_DDI_BASE_FUNCTIONS en una llamada a la función CreateDevice(D3D10) específica del adaptador del controlador de pantalla en modo de usuario.

PFNDDXGIDDI_PRESENT_MULTIPLANE_OVERLAYCB: PFNDDXGIDDI_PRESENTCB

PFNDDXGIDDI_SUBMITPRESENTBLTTOHWQUEUECB: PFNDDXGIDDI_SUBMITPRESENTTOHWQUEUECB

Nota

En la sección Funciones de superposición multiplano implementadas por el controlador en modo de usuario se incluyen funciones dxGI adicionales compatibles con el entorno de ejecución de Direct3D 11.2.