Поделиться через


Метод ID3D12DebugCommandList1::AssertResourceState (d3d12sdklayers.h)

Проверяет, соответствует ли данное состояние состоянию подресурса, предполагая, что состояние заданного подресурса известно во время записи списка команд (например, ресурс был перенесен ранее в той же записи списка команд). Если состояние еще не известно, этот метод задает известное состояние для дальнейшей проверки позже в той же записи списка команд.

Синтаксис

BOOL AssertResourceState(
  [in] ID3D12Resource *pResource,
       UINT           Subresource,
       UINT           State
);

Параметры

[in] pResource

Тип: ID3D12Resource*

Указывает ID3D12Resource для проверка.

Subresource

Тип: UINT

Индекс проверка подресурса. Это может быть индекс или D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES.

State

Тип: UINT

Указывает состояние, для проверка. Это может быть один или несколько D3D12_RESOURCE_STATES флагов Or'ed вместе.

Возвращаемое значение

Тип: BOOL

Этот метод возвращает значение true , если отслеживаемое состояние ресурса или подресурса совпадает с указанным состоянием, в противном случае — false .

Комментарии

Так как выполнение списков команд происходит через некоторое время после записи, состояние ресурса часто не может быть известно во время записи списка команд. AssertResourceState дает разработчику приложения возможность навязать предполагаемое состояние ресурса или подресурса в фиксированной точке записи в списке команд.

Часто состояние ресурса или подресурса может быть известно из-за предыдущего барьера или выведено по использованию (например, использовалось в предыдущем вызове CopyBufferRegion) во время записи списка команд. В таких случаях AssertResourceState может создать сообщение отладки, если заданное состояние не соответствует известному или предполагаемому состоянию.

Этот API предназначен только для проверки отладки и не влияет на фактическое состояние среды выполнения или GPU ресурса.

Требования

Требование Значение
Целевая платформа Windows
Header d3d12sdklayers.h

См. также раздел

ID3D12DebugCommandList1