Если я правильно понел, то по факту spir-v останется в каком-то виде. Но ты всё равно сходи, открой issue
он должен остаться полностью, с другой стороны если им нужен шейдерный язык свой, пусть пилят, главное тащите его как внешний инструмент для сборки spir-v байткода, а последний уже подцеплять как обычно
он должен остаться полностью, с другой стороны если им нужен шейдерный язык свой, пусть пилят, главное тащите его как внешний инструмент для сборки spir-v байткода, а последний уже подцеплять как обычно
Я того же мнения на самом деле. Лишним оно не будет, но убирать SPIR-V плохо.
суть spir-v в том чтобы транслировать байткод в машинные инструкции конкретной видеокарты, что обычно делается практически напрямую, один байткод транслируется в одну ил несколько машинных инструкции с минимумом модификаций, а компилировать в байткод можно любым компилятором на выбор, среди них ты можешь найти и тот который по твоему будет генерировать самый быстрый и оптимальный код
Оптимизации и выделение регистров потому что удобно делать, когда у тебя программа в форме static single assignment, когда у тебя есть цепочки зависимостей для всего
Здесь язык низкоуровневый, который должен компилироваться быстро и легко, примерно как SPIR-V или LLVM IR, поэтому схождение control flow ты обязан обеспечивать сам, компилятор не должен разбираться в макаронах
Здесь язык низкоуровневый, который должен компилироваться быстро и легко, примерно как SPIR-V или LLVM IR, поэтому схождение control flow ты обязан обеспечивать сам, компилятор не должен разбираться в макаронах
так а зачем он нужен если есть spir-v и можно обмазаться сторонним компилятором
Тут, конечно, есть переменные, но после ветвления ты можешь просто считать, что зависимость и от тех переменных, которые изменились в if, и от тех, которые изменились в else if, и от тех, которые изменились в else