Método ID3D11DeviceContext1::UpdateSubresource1 (d3d11_1.h)

A CPU copia dados da memória para um sub-recurso criado na memória não aplicaível.

Sintaxe

void UpdateSubresource1(
  [in]           ID3D11Resource  *pDstResource,
  [in]           UINT            DstSubresource,
  [in, optional] const D3D11_BOX *pDstBox,
  [in]           const void      *pSrcData,
  [in]           UINT            SrcRowPitch,
  [in]           UINT            SrcDepthPitch,
  [in]           UINT            CopyFlags
);

Parâmetros

[in] pDstResource

Tipo: ID3D11Resource*

Um ponteiro para o recurso de destino.

[in] DstSubresource

Tipo: UINT

Um índice baseado em zero que identifica o sub-recurso de destino. Consulte D3D11CalcSubresource para obter mais detalhes.

[in, optional] pDstBox

Tipo: const D3D11_BOX*

Um ponteiro para uma caixa que define a parte do sub-recurso de destino para a qual copiar os dados do recurso. As coordenadas estão em bytes para buffers e em texels para texturas. Se FOR NULL, UpdateSubresource1 gravará os dados no sub-recurso de destino sem deslocamento. As dimensões da origem devem se ajustar ao destino.

Uma caixa vazia resulta em uma no-op. Uma caixa estará vazia se o valor superior for maior ou igual ao valor inferior ou se o valor esquerdo for maior ou igual ao valor à direita ou se o valor frontal for maior ou igual ao valor de fundo. Quando a caixa está vazia, UpdateSubresource1 não executa uma operação de atualização.

[in] pSrcData

Tipo: const void*

Um ponteiro para os dados de origem na memória.

[in] SrcRowPitch

Tipo: UINT

O tamanho de uma linha dos dados de origem.

[in] SrcDepthPitch

Tipo: UINT

O tamanho de uma fatia de profundidade dos dados de origem.

[in] CopyFlags

Tipo: UINT

Um valor de tipo D3D11_COPY_FLAGS que especifica como executar a operação de atualização. Se você especificar zero para nenhuma opção de atualização, UpdateSubresource1 se comportará como ID3D11DeviceContext::UpdateSubresource. Para drivers de exibição existentes que não podem processar esses sinalizadores, o runtime não os usa.

Retornar valor

Nenhum

Comentários

Se você chamar UpdateSubresource1 para atualizar um buffer constante, passar qualquer região e o driver não tiver sido implementado para Windows 8, o runtime descartará a chamada (exceto o nível de recurso 9.1, 9.2 e 9.3 em que o runtime emula o suporte). O runtime também descartará a chamada se você atualizar um buffer constante com uma região parcial cuja extensão não está alinhada à granularidade de 16 bytes (16 bytes sendo uma constante completa). Quando o runtime descarta a chamada, o runtime não chama a DDI (interface de driver de dispositivo) correspondente.

Quando você grava uma chamada para UpdateSubresource com um deslocamento pDstBox em uma lista de comandos de software, o deslocamento em pDstBox é aplicado incorretamente a pSrcData quando você reproduz a lista de comandos. O new-for-Windows 8 UpdateSubresource1 corrige esse problema. Em uma chamada para UpdateSubresource1, pDstBox não afeta pSrcData.

Para obter informações sobre vários tipos de recursos e como UpdateSubresource1 pode funcionar com cada tipo de recurso, consulte Introdução a um recurso no Direct3D 11.

ObservaçãoAplica-se somente ao nível do recurso 9_x hardware Se você usar UpdateSubresource1 ou ID3D11DeviceContext1::CopySubresourceRegion1 para copiar de um recurso de preparo para um recurso padrão, poderá corromper o conteúdo de destino. Isso ocorrerá se você passar uma caixa de origem NULL e se o recurso de origem tiver dimensões diferentes daquelas do recurso de destino ou se você usar deslocamentos de destino (x, y e z). Nessa situação, sempre passe uma caixa de origem que tenha o tamanho total do recurso de origem.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 e Atualização de Plataforma para Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d3d11_1.h
Biblioteca D3D11.lib

Confira também

ID3D11DeviceContext1