Метод ID3D11DeviceContext::FinishCommandList (d3d11.h)
Создайте список команд и запишите в него графические команды.
Синтаксис
HRESULT FinishCommandList(
BOOL RestoreDeferredContextState,
[out, optional] ID3D11CommandList **ppCommandList
);
Параметры
RestoreDeferredContextState
Тип: BOOL
Логический флаг, который определяет, сохраняет ли среда выполнения отложенное состояние контекста перед выполнением FinishCommandList и восстанавливает его после. Используйте значение TRUE , чтобы указать, что среде выполнения необходимо сохранить и восстановить состояние. Используйте значение FALSE , чтобы указать, что среда выполнения не будет сохранять или восстанавливать состояние. В этом случае отложенный контекст вернется в состояние по умолчанию после завершения вызова FinishCommandList . Сведения о состоянии по умолчанию см. в разделе ID3D11DeviceContext::ClearState. Как правило, используйте значение FALSE , если вы не восстановите состояние, почти эквивалентное состоянию, которое среда выполнения восстановит, если вы передали значение TRUE. При использовании false можно избежать ненужных и неэффективных переходов состояния.
[out, optional] ppCommandList
Тип: ID3D11CommandList**
После завершения метода переданный указатель на интерфейс ID3D11CommandList инициализируется с записанными сведениями о списке команд. Полученный объект ID3D11CommandList является неизменяемым и может использоваться только с ID3D11DeviceContext::ExecuteCommandList.
Возвращаемое значение
Тип: HRESULT
Возвращает S_OK в случае успешного выполнения; в противном случае возвращает одно из следующих значений:
- Возвращает DXGI_ERROR_DEVICE_REMOVED, если карта видео было физически удалено из системы или произошло обновление драйвера для карта видео. При возникновении этой ошибки необходимо уничтожить и повторно создать устройство.
- Возвращает DXGI_ERROR_INVALID_CALL, если метод FinishCommandList не может быть вызван из текущего контекста. См. примечания.
- Возвращает E_OUTOFMEMORY, если приложение исчерпало доступную память.
Комментарии
Создайте список команд из отложенного контекста и запишите в него команды, вызвав Метод FinishCommandList. Воспроизвести список команд с непосредственным контекстом, вызвав ID3D11DeviceContext::ExecuteCommandList.
Немедленное состояние контекста очищается до и после выполнения списка команд. Список команд не имеет понятия наследования. Каждый вызов FinishCommandList будет записывать только состояние, заданное с момента предыдущего вызова FinishCommandList.
Например, состояние контекста устройства — это состояние отрисовки или состояние конвейера. Чтобы получить состояние контекста устройства, приложение может вызвать ID3D11DeviceContext::GetData или ID3D11DeviceContext::GetPredication.
Дополнительные сведения об использовании FinishCommandList см. в разделе Практическое руководство. Запись списка команд.
Windows Phone 8. Этот API поддерживается.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d11.h |
Библиотека | D3d11.lib |