Compartir a través de


estructura DXGI1_3_DDI_BASE_FUNCTIONS (dxgiddi.h)

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.

Nota Se llama a esta función para cada uno de los grupos de funcionalidades que informa el controlador.
 

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.

Nota Cuando la función pfnPresent1(DXGI) del controlador copia el contenido con formato sRGB de una superficie de origen a una superficie de destino no sRGB, el controlador debe copiar el contenido de sRGB sin cambios (es decir, el controlador no debe realizar la conversión sRGB a lineal).

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:
    • Solo un único subproceso puede trabajar con un identificador de contexto HCONTEXT a la vez.
    • El controlador debe llamar a pfnPresentCbDXGI solo cuando se llama a la función de pfnPresent1(DXGI) del controlador y por el mismo subproceso que llamó a pfnPresent1(DXGI).
  • 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).
Para obtener más información sobre el subproceso, consulta Cambios de Direct3D 10.

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)

Consulte también

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE

DXGI1_2_DDI_BASE_FUNCTIONS

DXGI_DDI_BASE_ARGS

DXGI_DDI_BASE_FUNCTIONS