DXGI-версии Direct3D не имеют сценариев 'потерянного устройства', только TDR и устройство удалено , поэтому D3DERR_DEVICELOST
, D3DERR_DEVICENOTRESET
, D3DERR_DRIVERINTERNALERROR
,и D3DERR_NOTAVAILABLE
случаев никогда не происходит с Direct3D 10 или более поздней версии.
Как указано в Документах Microsoft , вы никогда не получите D3DERR_DRIVERINVALIDCALL
.
D3DERR_TOOMANYOPERATIONS
, D3DERR_CONFLICTINGRENDERSTATE
, D3DERR_CONFLICTINGTEXTUREFILTER
и т. Д. Применяется к устаревшему конвейеру с фиксированными функциями, который не существует для Direct3D 10 или более поздней версии.
Ряд таких более старых ошибок, таких как D3DERR_UNSUPPORTEDALPHAARG
, D3DERR_UNSUPPORTEDALPHAOPERATION
и т. Д.были связаны со старыми унаследованными «заглавными буквами», которые не соответствуют принципам управления Direct3D 10 и более поздними версиями.Вместо этого он использует аппаратные уровни Direct3D .
В случаях, когда Direct3D9 вернет D3DERR_INVALIDDEVICE
, вы, вероятно, получите E_INVALIDARG
сейчас.
Возможно, вы захотитепосмотреть это сообщение в блоге