vk.com

Выберите язык

Филипп Ребол начал вносить свой вклад в VKD3D


  В настоящее время DXVK  хорошо работает с играми D3D10/D3D11, поэтому Филипп Ребол сосредотачивает свое внимание на VKD3D для того, чтобы сделать то же самое с Direct3D 12 поверх слоя Vulkan. Буквально на прошлой неделе от Ребола был большой всплеск активности.

   Он уточнил свои намерения в списке разработчиков Wine., Филипп в настоящее время стремится получить рендер D3D12 от Deus Ex: Mankind Divided, работающий над VKD3D. Чтобы это произошло, есть несколько недостающих частей, к которым должен обратиться VKD3D.

  Причина, по которой он поднял этот вопрос в списке рассылки, - это разговор о том, как лучше всего обрабатывать пользовательские шейдеры в VKD3D для реализации функциональных битов в качестве вычислительных шейдеров, которые затем будут обрабатываться драйверами Vulkan для областей, которые не имеют отображения 1:1 между D3D12 и Vulkan. Для интеграции шейдеров в VKD3D его первоначальной идеей была компиляция шейдеров GLSL во время сборки в заголовок C, содержащий представление SPIR-V, а затем на него ссылался сам код VKD3D. Это введет новую зависимость от glslangValidator для процесса конвертации или есть другие альтернативы, такие как shaderc.

  Хотя Анри Вербит из CodeWeavers выразил предпочтение написанию шейдеров в HLSL, а затем использовал существующий инструментарий для преобразования этого, в отличие от введения новой зависимости времени сборки, но это может столкнуться с проблемами, и Филипп предпочел бы избежать написания шейдеров в HLSL. 

  Вопрос о том, как лучше всего работать с шейдерами в VKD3D, все еще решается, но хорошая новость заключается в том, что Филипп сейчас работает не только над DXVK, но и над VKD3D.

  Полученный рендер D3D12 от Deus Ex: Mankind Divided, работающий на VKD3D, также будет интересен, так как он позволит сравнить производительность D3D11 с DXVK. Кроме того, существует собственный порт Linux Deus Ex: Mankind Divided от Feral Interactive, который, в свою очередь работает через OpenGL.