Partilhar via


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 lidar com todo o bitblt de e para a memória do vídeo, incluindo bitblt da memória do vídeo para a memória do sistema. Se o driver de exibição do modo de usuário não puder usar a GPU (unidade de processamento gráfico) para emitir um bitblt da memória do vídeo para a memória do sistema, o driver de exibição do modo de usuário poderá copiar os dados usando a CPU.

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)

Consulte também

D3DDDIARG_BLT

D3DDDI_DEVICEFUNCS

pfnRenderCb