Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Contiene punteros a funciones que un controlador de pantalla de windows Display Driver Model (WDDM) 1.3 y versiones posteriores pueden implementar para realizar tareas de bajo nivel, como presentar fotogramas representados a una salida, controlar gamma, obtener notificaciones sobre superficies interoperables compartidas y de interfaz de dispositivos gráficos de Windows (GDI) y administrar una transición de pantalla completa.
Sintaxis
typedef struct DXGI1_3_DDI_BASE_FUNCTIONS {
HRESULT()(DXGI_DDI_ARG_PRESENT *) * pfnPresent;
HRESULT()(DXGI_DDI_ARG_GET_GAMMA_CONTROL_CAPS *) * pfnGetGammaCaps;
HRESULT()(DXGI_DDI_ARG_SETDISPLAYMODE *) * pfnSetDisplayMode;
HRESULT()(DXGI_DDI_ARG_SETRESOURCEPRIORITY *) * pfnSetResourcePriority;
HRESULT()(DXGI_DDI_ARG_QUERYRESOURCERESIDENCY *) * pfnQueryResourceResidency;
HRESULT()(DXGI_DDI_ARG_ROTATE_RESOURCE_IDENTITIES *) * pfnRotateResourceIdentities;
HRESULT()(DXGI_DDI_ARG_BLT *) * pfnBlt;
HRESULT()(DXGI_DDI_ARG_RESOLVESHAREDRESOURCE *) * pfnResolveSharedResource;
HRESULT()(DXGI_DDI_ARG_BLT1 *) * pfnBlt1;
HRESULT()(DXGI_DDI_ARG_OFFERRESOURCES *) * pfnOfferResources;
HRESULT()(DXGI_DDI_ARG_RECLAIMRESOURCES *) * pfnReclaimResources;
HRESULT()(DXGI_DDI_ARG_GETMULTIPLANEOVERLAYCAPS *) * pfnGetMultiplaneOverlayCaps;
HRESULT()(DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS *) * pfnGetMultiplaneOverlayGroupCaps;
HRESULT()(void *) * pfnReserved1;
HRESULT()(DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY *) * pfnPresentMultiplaneOverlay;
HRESULT()(void *) * pfnReserved2;
HRESULT()(DXGI_DDI_ARG_PRESENT1 *) * pfnPresent1;
HRESULT()(DXGI_DDI_ARG_CHECKPRESENTDURATIONSUPPORT *) * pfnCheckPresentDurationSupport;
} DXGI1_3_DDI_BASE_FUNCTIONS;
Miembros
pfnPresent
Puntero a la función PresentDXGI del controlador.
pfnGetGammaCaps
Puntero a la función GetGammaCapsDXGI del controlador.
pfnSetDisplayMode
Puntero a la función SetDisplayModeDXGI del controlador.
pfnSetResourcePriority
Puntero a la función SetResourcePriorityDXGI del controlador.
pfnQueryResourceResidency
Puntero a la función QueryResourceResidencyDXGI del controlador.
pfnRotateResourceIdentities
Puntero a la función RotateResourceIdentitiesDXGI del controlador.
pfnBlt
Puntero a la función BltDXGI del controlador.
pfnResolveSharedResource
Puntero a la función resolveSharedResourceDXGI del controlador.
pfnBlt1
Puntero a la función de Blt1DXGI del controlador.
pfnOfferResources
Puntero a la función pfnOfferResources del controlador.
pfnReclaimResources
Puntero a la función pfnReclaimResources del controlador.
pfnGetMultiplaneOverlayCaps
Lo llama el tiempo de ejecución de DXGI para solicitar que el controlador de pantalla en modo de usuario obtenga funcionalidades básicas del plano de superposición. Opcionalmente implementado por WDDM 1.3 y controladores de pantalla en modo usuario posteriores.
pfnGetMultiplaneOverlayGroupCaps
Lo llama el tiempo de ejecución de DXGI para solicitar que el controlador de pantalla en modo de usuario obtenga un grupo de funcionalidades del plano de superposición. Opcionalmente implementado por WDDM 1.3 y controladores de pantalla en modo usuario posteriores.
de sintaxis de
pfnGetMultiplaneOverlayGroupCaps GetMultiplaneOverlayGroupCaps;
HRESULT __stdcall* GetMultiplaneOverlayGroupCaps(
DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS *pGroupCaps
)
{ ... }
parámetro
pGroupCaps puntero a una estructura DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS que especifica el grupo de funcionalidades del plano de superposición.
valor devuelto
Devuelve uno de los valores siguientes.
- S_OK El controlador proporcionó correctamente las funcionalidades del plano de superposición.
- D3DDDIERR_DEVICEREMOVED El controlador detectó que se quitó el adaptador de pantalla, por lo que el controlador no completó la operación. Si el controlador no es consciente de la eliminación del adaptador, el controlador no es necesario para devolver este código de error.
pfnReserved1
Reservado para uso del sistema.
pfnPresentMultiplaneOverlay
Llamado por el tiempo de ejecución de La infraestructura de gráficos de Microsoft DirectX (DXGI) para notificar al controlador de pantalla en modo de usuario que una aplicación finalizó la representación y solicita que el controlador muestre la superficie de origen copiando o girando o que el controlador realiza una operación de relleno de color. Debe implementarse mediante controladores de windows Display Driver Model (WDDM) 1.3 o posteriores que admitan superposiciones multiplano.
Cuando el controlador de pantalla en modo de usuario completa correctamente su procesamiento de una llamada a esta función, presenta la superficie de origen a la pantalla llamando a la función pfnPresentMultiPlaneOverlayCb (DXGI).
PFND3DDDI_PRESENTMULTIPLANEOVERLAY pfnPresentMultiPlaneOverlay;
HRESULT __stdcall* pfnPresentMultiPlaneOverlay(
DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY *pPresentDXGI
)
{ ... }
parámetro
pPresentDXGI puntero a una estructura de DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY que describe cómo mostrar en la superficie de destino.
valor devuelto
Si esta función de devolución de llamada se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error HRESULT.
pfnReserved2
Reservado para uso del sistema.
pfnPresent1
Notifica al controlador de visualización en modo de usuario que una aplicación finalizó la representación y que se libera toda la propiedad del recurso compartido y solicita que el controlador se muestre en la superficie de destino.
de sintaxis de
pfnPresent1 Present1DXGI;
HRESULT __stdcall* Present1DXGI(
DXGI_DDI_ARG_PRESENT1 *pPresentData
)
{ ... }
parámetro
pPresentData [in] Puntero a una estructura DXGI_DDI_ARG_PRESENT1 que describe cómo mostrar en la superficie de destino.
Observaciones
El miembro hDevice de la estructura DXGI_DDI_ARG_PRESENT1 a la que apunta el parámetro pPresentData es el mismo identificador al que apunta la función createDevice(D3D10) del controlador que se pasa al tiempo de ejecución en el hDrvDevice miembro de la estructura D3D10DDIARG_CREATEDEVICE. Por lo tanto, los escritores de controladores deben definir cuidadosamente el tipo de este controlador. Además, los controladores pueden proporcionar diferentes implementaciones de la función pfnPresent1(DXGI) en función de la implementación de DDI que controló la llamada a createDevice(D3D10). El tiempo de ejecución nunca combinará los identificadores del controlador en las implementaciones de DDI.
El miembro pDXGIContext de DXGI_DDI_ARG_PRESENT1 es un mecanismo de comunicación opaco. El tiempo de ejecución pasa este contexto DXGI al controlador. El controlador debe copiar este contexto DXGI sin cambios en el miembro pDXGIContext de la estructura de DXGIDDICB_PRESENT cuando el controlador llama a la función pfnPresentCbDXGI.
El controlador debe enviar todos los datos de representación parcialmente compilados (búferes de comandos) mediante la función pfnRenderCb, y el controlador debe realizar una sola llamada a pfnPresentCbDXGI. Al llamar a cualquiera de estas devoluciones de llamada, el controlador debe seguir las reglas de subproceso de la función PresentDXGI.
Reglas de subprocesos
Estas reglas se aplican si el controlador admite subprocesos libres o no:
- El controlador indica la compatibilidad con subprocesos libres estableciendo el miembro caps de la estructura de D3D11DDI_THREADING_CAPS en D3D11DDICAPS_FREETHREADED. En este caso:
- Cuando el controlador no indica la compatibilidad con subprocesos libres, solo puede llamar a las funciones de devolución de llamada cuando un subproceso haya llamado al controlador. El controlador también debe llamar al pfnPresentCbDXGI devolución de llamada en el contexto de pfnPresent1(DXGI).
pfnCheckPresentDurationSupport
Puntero a la función pfnCheckPresentDurationSupport(DXGI) del controlador.
Observaciones
Para obtener más información sobre cómo usar esta estructura, consulta Compatibilidad con laDXGI DDI .
Requisitos
| Requisito | Valor |
|---|---|
| cliente mínimo admitido | Windows 8.1,WDDM 1.3 y versiones posteriores |
| servidor mínimo admitido | Windows Server 2012 R2 |
| encabezado de | dxgiddi.h (incluya D3d10umddi.h) |