PFND3DDDI_BLT função de retorno de chamada (d3dumddi.h)
A função Blt copia o conteúdo de uma superfície de origem para uma superfície de destino.
Sintaxe
PFND3DDDI_BLT Pfnd3dddiBlt;
HRESULT Pfnd3dddiBlt(
HANDLE hDevice,
const D3DDDIARG_BLT *unnamedParam2
)
{...}
Parâmetros
hDevice
Um identificador para o dispositivo de exibição (contexto gráfico).
unnamedParam2
pData [in]
Um ponteiro para uma estrutura de D3DDDIARG_BLT que descreve os parâmetros da transferência de bloco de bits (bitblt).
Valor de retorno
Blt retorna um dos seguintes valores:
Código de retorno | descrição |
---|---|
S_OK | O bitblt do recurso é executado com êxito. |
E_OUTOFMEMORY | Blt não pôde alocar a memória necessária para que ela fosse concluída. |
Observações
O runtime do Microsoft Direct3D chama a função de de do driver de exibição do modo de usuário para copiar o conteúdo de uma superfície de origem para uma superfície de destino. Depois de mapear as referências de superfície para referências de alocação, o driver de exibição do modo de usuário deve emitir os comandos de hardware apropriados. Se a alocação de origem ou destino estiver na memória do sistema, o driver de exibição no modo de usuário poderá ser necessário para sincronizar (ou seja, chamar a função pfnRenderCb) se o fluxo de comando de hardware pendente contiver referências à alocação de memória do sistema. Se as alocações de origem e de destino estiverem na memória do sistema, o driver deverá sincronizar conforme necessário, mas não deve copiar o conteúdo da superfície de origem. O runtime do Direct3D copia o conteúdo após a chamada para pfnRenderCb retorna.
O driver de exibição no modo de usuário deve lidar com as seguintes condições que podem ocorrer durante uma operação de cópia:
- As superfícies de destino e de origem fazem parte do mesmo recurso (ou seja, os hSrcResource e hDstResource membros de D3DDDIARG_BLT especificar identificadores para o mesmo recurso).
- Os retângulos de origem e de destino se sobrepõem (ou seja, as coordenadas das estruturas RECT no SrcRect e membros de DstRect de D3DDDIARG_BLT sobreposição).
O driver de exibição do modo de usuário deve dar suporte à tecla coloração somente com formatos que foram introduzidos antes do Microsoft DirectX 8.0. Para formatos que foram introduzidos no DirectX 8.0 e em runtimes posteriores, o suporte a colorkeying não é necessário.
O tipo de bitblt a ser executado é indicado por meio dos sinalizadores de campo de bit especificados no Flags membro do D3DDDIARG_BLT. A memória de vídeo para bitblts de memória de vídeo pode incluir colorkeying, alongamento, espelhamento e conversão de formato linear para sRGB. A memória do sistema para bitblts de memória de vídeo pode incluir alongamento e conversão de formato linear para sRGB; no entanto, esses tipos de bitblts nunca incluem espelhamento ou colorkeying. Toda a memória de vídeo para bitblts de memória do sistema e memória do sistema para bitblts de memória do sistema são somente cópias diretas; ou seja, esses tipos de bitblts nunca incluem alongamento, espelhamento, colorkeying ou conversão de formato linear para sRGB. Para obter mais informações sobre o formato sRGB, consulte o site de sRGB.
Para obter mais informações sobre regras que a função Blt deve seguir ao converter valores de estêncil de profundidade, consulte Copying Depth-Stencil Values.
O runtime do Direct3D pode chamar a função Blt do driver de exibição do modo de usuário para copiar o conteúdo de qualquer tipo de superfície de origem (como tipo offscreen-plain, tipo render-target ou tipo de textura) para qualquer outro tipo de superfície de destino.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | d3dumddi.h (inclua D3dumddi.h) |