Compartir a través de


Método ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint (d3d12.h)

Establece todos los elementos de una vista de acceso desordenado (UAV) en los valores enteros especificados.

Importante

Esto se comporta como una operación de proceso en que no se ordena con respecto al trabajo circundante, como las llamadas de dispatch . Para garantizar la ordenación, las llamadas de barrera deben emitirse antes o después de la llamada ClearUnorderedAccessViewXxx según sea necesario. Es posible que aparezca en algunos conductores que estas barreras no son necesarias. Pero las barreras implícitas no son una garantía de especificación; por lo que no se pueden confiar en ellos. Esto contrasta con ClearDepthStencilView y ClearRenderTargetView , que (como los comandos DrawXxx ), respetan el orden de la lista de comandos.

Sintaxis

void ClearUnorderedAccessViewUint(
  D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
  D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
  ID3D12Resource              *pResource,
  const UINT [4]              Values,
  UINT                        NumRects,
  const D3D12_RECT            *pRects
);

Parámetros

ViewGPUHandleInCurrentHeap

Tipo: [in] D3D12_GPU_DESCRIPTOR_HANDLE

Un D3D12_GPU_DESCRIPTOR_HANDLE que hace referencia a un descriptor inicializado para la vista de acceso desordenado (UAV) que se va a borrar. Este descriptor debe estar en un montón de descriptores visibles para sombreador, que debe establecerse en la lista de comandos mediante SetDescriptorHeaps.

ViewCPUHandle

Tipo: [in] D3D12_CPU_DESCRIPTOR_HANDLE

Un D3D12_CPU_DESCRIPTOR_HANDLE en un montón de descriptores visibles no sombreador que hace referencia a un descriptor inicializado para la vista de acceso sin ordenar (UAV) que se va a borrar.

Importante

Este descriptor no debe estar en un montón de descriptores visibles para sombreador. Esto permite a los controladores que implementan la claridad como una operación de hardware de función fija (en lugar de como un envío) para leer eficazmente desde el descriptor, ya que los montones visibles para sombreador se pueden crear en WRITE_BACK memoria (similar a D3D12_HEAP_TYPE_UPLOAD tipos de montón) y las lecturas de CPU de este tipo de memoria son prohibitivamente lentas.

pResource

Tipo: [in] ID3D12Resource*

Puntero a la interfaz ID3D12Resource que representa el recurso unordered-access-view (UAV) que se va a borrar.

Values

Tipo: [in] const UINT[4]

Matriz de 4 componentes que contiene los valores con los que rellenar el recurso unordered-access-view.

NumRects

Tipo: [in] UINT

Número de rectángulos de la matriz que especifica el parámetro pRects .

pRects

Tipo: [in] const D3D12_RECT*

Matriz de estructuras de D3D12_RECT para los rectángulos de la vista de recursos que se van a borrar. Si es NULL, ClearUnorderedAccessViewUint borra toda la vista de recursos.

Valor devuelto

None

Observaciones

Validación en tiempo de ejecución

El error de validación produce la llamada a ID3D12GraphicsCommandList::Close devolviendo E_INVALIDARG.

Capa de depuración

La capa de depuración emite errores si los valores de entrada están fuera de un intervalo normalizado.

La capa de depuración emite un error si los subrecursos a los que hace referencia la vista no están en el estado adecuado. Para ClearUnorderedAccessViewUint, el estado debe ser D3D12_RESOURCE_STATE_UNORDERED_ACCESS.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d12.h
Library D3d12.lib
Archivo DLL D3d12.dll

Consulte también

Interfaz ID3D12GraphicsCommandList