Compartilhar via


Método ID3D11DeviceContext2::TiledResourceBarrier (d3d11_2.h)

Especifica uma restrição de ordenação de acesso a dados entre vários recursos lado a lado. Para obter mais informações sobre essa restrição, consulte Comentários.

Sintaxe

void TiledResourceBarrier(
  [in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessBeforeBarrier,
  [in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessAfterBarrier
);

Parâmetros

[in, optional] pTiledResourceOrViewAccessBeforeBarrier

Tipo: ID3D11DeviceChild*

Um ponteiro para ID3D11Resource ou ID3D11View para um recurso que foi criado com o sinalizador D3D11_RESOURCE_MISC_TILED . As operações de acesso nesse objeto devem ser concluídas antes das operações de acesso no objeto que pTiledResourceOrViewAccessAfterBarrier especifica.

[in, optional] pTiledResourceOrViewAccessAfterBarrier

Tipo: ID3D11DeviceChild*

Um ponteiro para ID3D11Resource ou ID3D11View para um recurso que foi criado com o sinalizador D3D11_RESOURCE_MISC_TILED . As operações de acesso neste objeto devem começar após as operações de acesso no objeto que pTiledResourceOrViewAccessBeforeBarrier especifica.

Valor retornado

Nenhum

Comentários

Os aplicativos podem usar recursos lado a lado para reutilizar blocos em recursos diferentes. No entanto, um dispositivo e um driver podem não ser capazes de determinar se alguma memória em um pool de blocos que acabou de ser renderizado agora está sendo usada para leitura.

Por exemplo, um aplicativo pode renderizar em alguns blocos em um pool de blocos com um recurso lado a lado, mas depois ler dos mesmos blocos usando um recurso lado a lado diferente. Essas operações de recurso lado a lado são diferentes de usar um recurso e, em seguida, apenas alternar de gravação com ID3D11RenderTargetView para leitura com ID3D11ShaderResourceView. O runtime já rastreia e manipula essas operações de recurso usando ID3D11RenderTargetView e ID3D11ShaderResourceView.

Quando um aplicativo faz a transição do acesso (leitura ou gravação) de algum local em um pool de blocos com um recurso para acessar a mesma memória (leitura ou gravação) por meio de outro recurso lado a lado (com mapeamentos para a mesma memória), o aplicativo deve chamar TiledResourceBarrier após o primeiro uso do recurso e antes do segundo. Os parâmetros são o pTiledResourceOrViewAccessBeforeBarrier para acessos antes da barreira (por meio de renderização, cópia) e pTiledResourceOrViewAccessAfterBarrier para acessos após a barreira usando a mesma memória do pool de blocos. Se os recursos forem idênticos, o aplicativo não precisará chamar TiledResourceBarrier porque esse tipo de risco já está controlado e tratado.

A chamada de barreira informa ao driver que as operações emitidas para o recurso antes da chamada devem ser concluídas antes de qualquer acesso que ocorra após a chamada por meio de um recurso lado a lado diferente que compartilha a mesma memória.

Ou ambos os parâmetros (antes ou depois da barreira) podem ser NULL. NULL antes da barreira significa que todos os acessos de recurso lado a lado antes da barreira devem ser concluídos antes que o recurso especificado depois que a barreira possa ser referenciada pela GPU (unidade de processamento gráfico). NULL após a barreira significa que todos os recursos lado a lado acessados após a barreira só podem ser executados pela GPU após o acesso aos recursos lado a lado antes que a barreira seja concluída. Ambos NULL significa que todos os acessos de recursos lado a lado anteriores são concluídos antes que qualquer acesso a recursos lado a lado subsequente possa continuar.

Um aplicativo pode passar um ponteiro de exibição, um recurso ou NULL para cada parâmetro. As exibições são permitidas não apenas para conveniência, mas também para permitir que o aplicativo defina o escopo do efeito de barreira para uma parte relevante de um recurso.

Para obter mais informações sobre recursos lado a lado, consulte Recursos lado a lado.

Requisitos

   
Cliente mínimo com suporte Windows 8.1 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d3d11_2.h
Biblioteca D3D11.lib

Confira também

ID3D11DeviceContext2