Проект Wine опубликовал Vkd3d 1.16 с реализацией Direct3D 12

Проект Wine опубликовал выпуск пакета vkd3d 1.16 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализаций Direct3D 12, libvkd3d-shader c транслятором 4 и 5 модели шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Код проекта распространяется под лицензией LGPLv2.1.

Biblioteka libvkd3d mbështet shumicën e mundësive të Direct3D 12, duke përfshirë mjete për grafikë dhe llogaritje, radhë dhe lista komanduese, deskriptorë dhe deskriptorë kupë, nënshkrime rrënjësore, qasje të pa renditur, Sampler, nënshkrime komandash, konstanta rrënjësore, përshkrimin e të pavendosur (indirect) dhe metodet Clear*() dhe Copy*(). Në libvkd3d-shader është realizuar translacioni i kodit të bajtëve të modeleve të shenjuesve në përfaqësimin e ndërmjetëm SPIR-V. Mbështeten shenjues të majtë, piksel, tessellim, llogaritje dhe shenjues të thjeshtë gjeometrik, serializimi dhe deserializimi i nënshkrimeve rrënjësore. Nga instruksionet e shenjuesve janë realizuar operacione aritmetike, atomike dhe bitore, operatorë krahasimi dhe kontrolli të rrjedhës së të dhënave, instruksionet sample, gather dhe load, operacione qasjeje të pa renditur (UAV, Unordered Access View).

Në versionin e ri:

  • Стабилизирована и включена по умолчанию поддержка шейдеров DXIL (DirectX Intermediate Language).
  • В компилятор языка шейдеров HLSL добавлена начальная поддержка геометрических шейдеров. Для шейдерных моделей 1,2,3 реализована поддержка косвенной адресации, модулей и ограничения значений.
  • В библиотеке libvkd3d заявлена поддержка шейдерной модели 6.0. В программном интерфейсе ID3D12Device1 реализован метод SetEventOnMultipleFenceCompletion(). Добавлена поддержка Vulkan-расширения VK_KHR_zero_initialize_workgroup_memory для инициализации нулями памяти для шейдеров. В число обязательных включено Vulakan-расширение VK_KHR_maintenance2, предложенное в спецификации Vulkan 1.1.
  • Добавлена поддержка дизассемблирования шейдеров SPIR-V и бинарных эффектов «fx_2_0».
  • Добавлена экспериментальная поддержка косвенной адресации постоянных буферов в GLSL (OpenGL Shading Language).
  • В реализацию языка шейдеров MSL (Metal Shading Language), применяемого компанией Apple в графическом API Metal, добавлена возможность загрузки текстур.
  • Добавлена поддержка встроенных функций HLSL: AllMemoryBarrier(), AllMemoryBarrierWithGroupSync(), DeviceMemoryBarrier(), DeviceMemoryBarrierWithGroupSync(), GroupMemoryBarrier() и GroupMemoryBarrierWithGroupSync().
  • Реализованы флаги VKD3D_SHADER_COMPILE_OPTION_FEATURE_ZERO_INITIALIZE_WORKGROUP_MEMORY, VKD3D_SHADER_COMPONENT_INT64, VKD3D_SHADER_COMPONENT_FLOAT16, VKD3D_SHADER_COMPONENT_UINT16, VKD3D_SHADER_COMPONENT_INT16, VKD3D_SHADER_RESOURCE_DATA_NONE и VKD3D_SHADER_RESOURCE_DATA_UINT.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster