estrutura DXGI1_1_DDI_BASE_FUNCTIONS (dxgiddi.h)
A estrutura DXGI1_1_DDI_BASE_FUNCTIONS contém ponteiros para funções que o driver de exibição do modo de usuário pode implementar para executar tarefas de baixo nível, como apresentar quadros renderizados em uma saída, controlar gama, receber notificações sobre superfícies interoperáveis compartilhadas e GDI e gerenciar uma transição de tela inteira.
Sintaxe
typedef struct DXGI1_1_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;
} DXGI1_1_DDI_BASE_FUNCTIONS;
Membros
pfnPresent
Um ponteiro para a função PresentDXGI do driver.
pfnGetGammaCaps
Um ponteiro para a função GetGammaCapsDXGI do driver.
pfnSetDisplayMode
A função SetDisplayModeDXGI alterna para um modo de exibição ou primário ao qual a área de trabalho GDI não dá suporte.
O runtime do Microsoft Direct3D chama SetDisplayModeDXGI para alternar para um modo de exibição ou primário ao qual a área de trabalho GDI não dá suporte. A lista a seguir descreve exemplos dessas primárias:
- Primárias criadas com formatos de destino de 10 bits por canal (10:10:10:2) exibem e renderizam formatos de destino (por exemplo, D3DFMT_A2R10G10B10)
- Primárias de vários exemplos em que a amostragem múltipla é executada durante a verificação
- Primárias persistentes que os aplicativos microsoft DirectX versão 10 usam
O driver de exibição do modo de usuário pode definir o membro hPrimaryAllocation da estrutura D3DDDICB_SETDISPLAYMODE na chamada para pfnSetDisplayModeCb para verificar qualquer alocação. No entanto, a alocação deve ser marcada como primária (ou seja, o driver de exibição do modo de usuário deve ter definido o sinalizador de campo de bit primário no membro Flags da estrutura D3DDDI_ALLOCATIONINFO em uma chamada para a função pfnAllocateCb para criar a alocação).
pDisplayModeData
Um ponteiro para uma estrutura DXGI_DDI_ARG_SETDISPLAYMODE que especifica parâmetros para definir o modo de exibição.
pfnSetResourcePriority
Um ponteiro para a função SetResourcePriorityDXGI do driver.
pfnQueryResourceResidency
Um ponteiro para a função QueryResourceResidencyDXGI do driver.
pfnRotateResourceIdentities
Um ponteiro para a função RotateResourceIdentitiesDXGI do driver.
pfnBlt
Um ponteiro para a função BltDXGI do driver.
pfnResolveSharedResource
A função ResolveSharedResourceDXGI informa a um driver de exibição do modo de usuário que a propriedade de uma superfície compartilhada foi alterada ou que uma superfície está sendo usada para interoperação GDI.
O runtime do Direct3D chama ResolveSharedResourceDXGI quando um aplicativo chama uma das seguintes funções:
- IDXGIKeyedMutex::ReleaseSynch em uma superfície compartilhada sincronizada
- IDXGISurface1::GetDC para uma superfície interoperável de GDI
O driver implementa ResolveSharedResourceDXGI para gerenciar adequadamente recursos para vários cenários de GPU. Cada recurso pode ser dividido na memória para que várias GPUs sejam renderizadas. O driver pode implementar ResolveSharedResourceDXGI para remergir cada recurso para que o novo proprietário do recurso tenha o recurso mesclado. O driver deve liberar buffers de comando parcialmente criados que possam modificar o recurso.
O Windows 7 fornece a macro IS_DXGI1_1_BASE_FUNCTIONS (que é definida no arquivo de cabeçalho D3D10umddi.h) para permitir que o driver de exibição no modo de usuário determine se ele recebe um ponteiro para uma estrutura de DXGI1_1_DDI_BASE_FUNCTIONS ou DXGI_DDI_BASE_FUNCTIONS em uma chamada para sua função CreateDevice(D3D10). A estrutura DXGI1_1_DDI_BASE_FUNCTIONS inclui o membro pfnResolveSharedResource que o driver pode preencher com um ponteiro para sua função ResolveSharedResourceDXGI . Se IS_DXGI1_1_BASE_FUNCTIONS retornar TRUE, o driver espera receber um ponteiro para uma estrutura DXGI1_1_DDI_BASE_FUNCTIONS no membro pDXGIDDIBaseFunctions da estrutura DXGI_DDI_BASE_ARGS que o membro DXGIBaseDDI da estrutura D3D10DDIARG_CREATEDEVICE especifica. Caso contrário, se IS_DXGI1_1_BASE_FUNCTIONS retornar FALSE, o driver espera receber um ponteiro para uma estrutura DXGI_DDI_BASE_FUNCTIONS. O Windows 7 fornece a macro IS_DXGI1_1_BASE_FUNCTIONS para permitir que drivers de versão mais recentes funcionem em runtimes de versão mais antiga. Os drivers podem determinar se corromperão a memória se tentarem preencher o membro pfnResolveSharedResource do DXGI1_1_DDI_BASE_FUNCTIONS com um ponteiro para a função ResolveSharedResourceDXGI .
pResourceData
Um ponteiro para uma estrutura DXGI_DDI_ARG_RESOLVESHAREDRESOURCE que especifica parâmetros para o dispositivo de exibição e a superfície associada ao dispositivo de exibição.
Comentários
O Windows 7 fornece a macro IS_DXGI1_1_BASE_FUNCTIONS (que é definida no arquivo de cabeçalho D3D10umddi.h ) para permitir que o driver de exibição do modo de usuário determine se ele recebe um ponteiro para uma estrutura de DXGI1_1_DDI_BASE_FUNCTIONS ou DXGI_DDI_BASE_FUNCTIONS em uma chamada para sua função CreateDevice(D3D10 ). A estrutura DXGI1_1_DDI_BASE_FUNCTIONS inclui o membro pfnResolveSharedResource que o driver pode preencher com um ponteiro para sua função ResolveSharedResourceDXGI . Se IS_DXGI1_1_BASE_FUNCTIONS retornar TRUE, o driver espera receber um ponteiro para uma estrutura DXGI1_1_DDI_BASE_FUNCTIONS no membro pDXGIDDIBaseFunctions da estrutura DXGI_DDI_BASE_ARGS que o membro DXGIBaseDDI da estrutura D3D10DDIARG_CREATEDEVICE especifica. Caso contrário, se IS_DXGI1_1_BASE_FUNCTIONS retornar FALSE, o driver espera receber um ponteiro para uma estrutura DXGI_DDI_BASE_FUNCTIONS. O Windows 7 fornece a macro IS_DXGI1_1_BASE_FUNCTIONS para permitir que drivers de versão mais recentes funcionem em runtimes de versão mais antiga. Os drivers podem determinar se corromperão a memória se tentarem preencher o membro pfnResolveSharedResource do DXGI1_1_DDI_BASE_FUNCTIONS com um ponteiro para uma função ResolveSharedResourceDXGI .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | DXGI1_1_DDI_BASE_FUNCTIONS tem suporte a partir do sistema operacional Windows 7. |
Cabeçalho | dxgiddi.h (inclua D3d10umddi.h) |