Преобразование DXBC в DXIL (байт-код DirectX в промежуточный язык DirectX)

компилятор шейдеров DirectX от Microsoft с открытым исходным кодом описывает формат нового промежуточного языка (IL) для шейдеров HLSL, который называется DXIL. .

В документации упоминается преобразователь из предыдущего HLSL IL, называемый DXBC, в новый DXIL: https://github.com/Microsoft/DirectXShaderCompiler/blob/master/docs/DXIL.rst.

Однако я не могу найти указанный инструмент dxbc2dxil или какой-либо другой способ конвертировать DXBC в DXIL. Я пробовал передавать файлы DXBC различным инструментам в проекте компилятора шейдеров DirectX, но ни один из них не принимал в качестве входных данных обычный DXBC.

Есть ли в настоящее время способ получить DXIL из старого DXBC?


person Kerry Seitz    schedule 08.08.2017    source источник


Ответы (2)


Насколько я понимаю эту документацию, Microsoft возьмет на себя ответственность за предоставление DXIR только для драйверов производителя в будущем. DXBC2DXIL — это внутренний модуль Microsoft.

Насколько мне известно, ничто в репозитории компилятора шейдеров DirectX не имеет возможности транслировать DXBC IL в DXIL.

person galop1n    schedule 08.08.2017
comment
Спасибо за ваш ответ @galop1n. Было бы неплохо, если бы этот инструмент был общедоступным, поэтому, надеюсь, Microsoft в конечном итоге выпустит какую-то его версию. - person Kerry Seitz; 09.08.2017
comment
Подтверждено, что dxbc2dxil в настоящее время не является общедоступным: twitter.com/mlrdev/status/895140130553384962 - person Kerry Seitz; 11.08.2017
comment
был открыт на github.com/microsoft/DirectXShaderCompiler/tree /мастер/проекты/ - person Zarat; 24.07.2020

См. этот проект для рабочего хака: https://github.com/Nukem9/Dxbc2Dxil

Они используют "dxilconv.dll" из win10 для создания экземпляра недокументированного преобразователя DXBC->DXIL.

person Kaloth    schedule 11.12.2019