Метод ID3D12GraphicsCommandList::D iscardResource (d3d12.h)
Указывает, что содержимое ресурса не требуется сохранять. В некоторых случаях функция может повторно инициализировать метаданные ресурса.
Синтаксис
void DiscardResource(
ID3D12Resource *pResource,
const D3D12_DISCARD_REGION *pRegion
);
Параметры
pResource
Тип: [in] ID3D12Resource*
Указатель на интерфейс ID3D12Resource для отбрасываемого ресурса.
pRegion
Тип: [in, необязательно] const D3D12_DISCARD_REGION*
Указатель на структуру D3D12_DISCARD_REGION , описывающую сведения об операции удаления ресурса.
Возвращаемое значение
None
Remarks
Семантика DiscardResource изменяется на основе типа списка команд.
Для D3D12_COMMAND_LIST_TYPE_DIRECT применяются следующие два правила:
- Если ресурс имеет флаг D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET , должен вызываться метод DiscardResource , когда отброшенные регионы подресурсов находятся в состоянии барьера D3D12_RESOURCE_STATE_RENDER_TARGET ресурсов.
- Если ресурс имеет флаг D3D12_RESOURCE_FLAG _ALLOW_DEPTH_STENCIL , должен вызываться Метод DiscardResource , если отброшенные регионы подресурсов находятся в D3D12_RESOURCE_STATE_DEPTH_WRITE.
- Ресурс должен иметь флаг D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS , а метод DiscardResource должен вызываться, когда отброшенные подресурсные регионы находятся в состоянии барьера D3D12_RESOURCE_STATE_UNORDERED_ACCESS ресурсов.
Требования
Целевая платформа | Windows |
Header | d3d12.h |
Библиотека | D3d12.lib |
DLL | D3d12.dll |
См. также раздел
Использование барьеров ресурсов для синхронизации состояний ресурсов в Direct3D 12