Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Define todos os elementos em uma exibição de acesso não ordenado (UAV) para os valores flutuantes especificados.
Importante
Isso se comporta como uma operação de computação, pois não é ordenada em relação ao trabalho ao redor, como chamadas de expedição . Para garantir a ordenação, as chamadas de barreira devem ser emitidas antes e/ou depois da chamada ClearUnorderedAccessViewXxx, conforme necessário. Pode aparecer em alguns drivers que tais barreiras não são necessárias. Mas as barreiras implícitas não são uma garantia de especificação; para que eles não possam ser confiados. Isso contrasta com ClearDepthStencilView e ClearRenderTargetView que (como comandos DrawXxx ), respeitam a ordenação da lista de comandos.
Sintaxe
void ClearUnorderedAccessViewFloat(
D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
ID3D12Resource *pResource,
const FLOAT [4] Values,
UINT NumRects,
const D3D12_RECT *pRects
);
Parâmetros
ViewGPUHandleInCurrentHeap
Tipo: [in] D3D12_GPU_DESCRIPTOR_HANDLE
Um D3D12_GPU_DESCRIPTOR_HANDLE que faz referência a um descritor inicializado para a exibição de acesso não ordenado (UAV) que deve ser desmarcada. Esse descritor deve estar em um heap de descritor visível de sombreador, que deve ser definido na lista de comandos por meio de SetDescriptorHeaps.
ViewCPUHandle
Tipo: [in] D3D12_CPU_DESCRIPTOR_HANDLE
Um D3D12_CPU_DESCRIPTOR_HANDLE em um heap de descritor visível não sombreador que faz referência a um descritor inicializado para a exibição de acesso não ordenado (UAV) que deve ser desmarcada.
Importante
Esse descritor não deve estar em um heap de descritor visível para sombreador. Isso é para permitir que os drivers que implementam a limpeza como uma operação de hardware de função fixa (em vez de como uma expedição) sejam lidos com eficiência do descritor, pois heaps visíveis de sombreador podem ser criados em WRITE_COMBINE memória (semelhante a tipos de heap D3D12_HEAP_TYPE_UPLOAD ) e as leituras de CPU desse tipo de memória são proibitivamente lentas.
pResource
Tipo: [in] ID3D12Resource*
Um ponteiro para a interface ID3D12Resource que representa o recurso UAV (modo de exibição de acesso não ordenado) a ser limpo.
Values
Tipo: [in] const FLOAT[4]
Uma matriz de 4 componentes que contém os valores com os quais preencher o recurso de exibição de acesso não ordenado.
NumRects
Tipo: [in] UINT
O número de retângulos na matriz especificada pelo parâmetro pRects .
pRects
Tipo: [in] const D3D12_RECT*
Uma matriz de estruturas D3D12_RECT para que os retângulos na exibição de recursos desmarquem. Se NULL, ClearUnorderedAccessViewFloat limpará toda a exibição de recurso.
Valor de retorno
None
Observações
Validação de runtime
Para entradas de ponto flutuante, o runtime define valores desnormalizados como 0 (preservando nans).
Se você quiser limpar o UAV para um padrão de bit específico, considere o uso de ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint.
A falha de validação resulta na chamada para ID3D12GraphicsCommandList::Close retornando E_INVALIDARG.
Camada de depuração
A camada de depuração emitirá erros se os valores de entrada estiverem fora de um intervalo normalizado.
A camada de depuração emitirá um erro se os sub-recursos referenciados pela exibição não estiverem no estado apropriado. Para ClearUnorderedAccessViewFloat, o estado deve ser D3D12_RESOURCE_STATE_UNORDERED_ACCESS.
Requirements
| Requirement | Value |
|---|---|
| da Plataforma de Destino |
Windows |
| Header | d3d12.h |
| Library | D3d12.lib |
| de DLL |
D3d12.dll |