2016-04-02 1 views
0

У меня есть следующая проблема с вызовом DrawInstanced() в моем коде DirectX 11. Когда я называю DrawInstanced() с помощью 10_0 уровня функции или выше, все работает, как ожидалось, но когда я включаю, чтобы показать уровень 9_3, я получаю следующее сообщение об ошибке в отладочном выводе:DXGI_ERROR_DRIVER_INTERNAL_ERROR на методе DrawInstanced() на уровне функции 9_3

D3D11: Removing Device. 
D3D11 WARNING: ID3D11Device::RemoveDevice: Device removal has been triggered for the following reason (DXGI_ERROR_DRIVER_INTERNAL_ERROR: There is strong evidence that the driver has performed an undefined operation; but it may be because the application performed an illegal or undefined operation to begin with.). [ EXECUTION WARNING #379: DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT] 

Согласно these msdn docs, Instancing должны быть поддержана на уровне функций Directx 9_3. Что происходит?

ответ

2

Оказалось, что, хотя Instancing поддерживается на уровне 9_3, только api работает DrawIndexedInstanced согласно msdn, поэтому мне пришлось адаптировать мой код для работы с индексированным instancing.

Смежные вопросы