Как проверить, был ли ID3D12GraphicsCommandList закрыт? - PullRequest
0 голосов
/ 15 февраля 2019

Я изучаю DirectX12 и пишу несколько служебных классов для инкапсуляции функциональности.Сейчас я работаю над механизмом объединения командных списков.

Пул предполагает, что все списки команд закрыты.Я хотел проверить это при вставке в пул, но мне не удалось это проверить.От MSDN :

Возвращает S_OK в случае успеха;в противном случае возвращает одно из следующих значений:

  • E_FAIL, если список команд уже закрыт или был вызван недопустимый API во время записи списка команд.

Это именно то, что я ищу, но когда я вызываю ID3D12GraphicsCommandList :: Close () для проверки, он выдает исключение в KernelBase.dll.Это выглядит очень странно для меня.Это соответствие спецификации?

// РЕДАКТИРОВАТЬ: Я не могу поймать исключение, даже с catch(...).Это говорит мне, что может быть что-то не так с моей настройкой, но все остальное работает на меня.

...