Я изучаю DirectX12 и пишу несколько служебных классов для инкапсуляции функциональности.Сейчас я работаю над механизмом объединения командных списков.
Пул предполагает, что все списки команд закрыты.Я хотел проверить это при вставке в пул, но мне не удалось это проверить.От MSDN :
Возвращает S_OK в случае успеха;в противном случае возвращает одно из следующих значений:
- E_FAIL, если список команд уже закрыт или был вызван недопустимый API во время записи списка команд.
Это именно то, что я ищу, но когда я вызываю ID3D12GraphicsCommandList :: Close () для проверки, он выдает исключение в KernelBase.dll
.Это выглядит очень странно для меня.Это соответствие спецификации?
// РЕДАКТИРОВАТЬ: Я не могу поймать исключение, даже с catch(...)
.Это говорит мне, что может быть что-то не так с моей настройкой, но все остальное работает на меня.