Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задает все элементы в представлении неупорядоченного доступа (UAV) указанным значениям с плавающей запятой.
Это важно
Это ведет себя как операция вычислений в том, что она не упорядочена в отношении окружающих работ, таких как вызовы диспетчера . Чтобы обеспечить упорядочение, вызовы барьеров должны быть выданы до и /или после вызова ClearUnorderedAccessViewXxx. Это может показаться на некоторых драйверах, что такие барьеры не нужны. Но неявные барьеры не являются гарантией спецификации; так что они не могут полагаться на них. Это отличается от ClearDepthStencilView и ClearRenderTargetView , который (например, команды DrawXxx), уважает порядок списка команд.
Синтаксис
void ClearUnorderedAccessViewFloat(
D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
ID3D12Resource *pResource,
const FLOAT [4] Values,
UINT NumRects,
const D3D12_RECT *pRects
);
Параметры
ViewGPUHandleInCurrentHeap
Тип: [in] D3D12_GPU_DESCRIPTOR_HANDLE
D3D12_GPU_DESCRIPTOR_HANDLE, ссылающийся на инициализированный дескриптор для представления неупорядоченного доступа (UAV), который должен быть очищен. Этот дескриптор должен находиться в куче дескриптора, видимой шейдером, которая должна быть задана в списке команд с помощью SetDescriptorHeaps.
ViewCPUHandle
Тип: [in] D3D12_CPU_DESCRIPTOR_HANDLE
D3D12_CPU_DESCRIPTOR_HANDLE в нешейдере видимую кучу дескриптора, которая ссылается на инициализированный дескриптор для представления неупорядоченного доступа (UAV), который требуется очистить.
Это важно
Этот дескриптор не должен находиться в куче дескриптора с видимым шейдером. Это позволяет драйверам, реализующим очистку в виде аппаратной операции фиксированной функции (а не как отправку), эффективно считывать из дескриптора, так как шейдер-видимые кучи могут быть созданы в памяти WRITE_COMBINE (аналогично типам кучи D3D12_HEAP_TYPE_UPLOAD ), а ЦП считывает из этого типа памяти запрещено медленно.
pResource
Тип: [in] ID3D12Resource*
Указатель на интерфейс ID3D12Resource , представляющий ресурс неупорядоченного доступа (UAV) для очистки.
Values
Тип: [in] const FLOAT[4]
Массив 4-компонентов, содержащий значения для заполнения ресурса неупорядоченного доступа.
NumRects
Тип: [in] UINT
Число прямоугольников в массиве, указываемое параметром pRects .
pRects
Тип: [in] const D3D12_RECT*
Массив D3D12_RECT структур для прямоугольников в представлении ресурсов для очистки. Если значение NULL, ClearUnorderedAccessViewFloat очищает все представление ресурсов.
Возвращаемое значение
None
Замечания
Проверка среды выполнения
Для входных данных с плавающей запятой среда выполнения задает денормализованные значения 0 (при сохранении НС).
Если вы хотите очистить UAV до определенного битового шаблона, рассмотрите возможность использования ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint.
Сбой проверки приводит к вызову ID3D12GraphicsCommandList::Close returning E_INVALIDARG.
Уровень отладки
Уровень отладки выдает ошибки, если входные значения находятся вне нормализованного диапазона.
Уровень отладки выдает ошибку, если вложенные ресурсы, на которые ссылается представление, не соответствуют соответствующему состоянию. Для ClearUnorderedAccessViewFloat состояние должно быть D3D12_RESOURCE_STATE_UNORDERED_ACCESS.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Windows |
| Header | d3d12.h |
| Library | D3d12.lib |
| DLL | D3d12.dll |