Проект Wine опублікував Vkd3d 1.14 з реалізацією Direct3D 12

Проект Wine опублікував випуск пакету vkd3d 1.14 з реалізацією Direct3D 12, що працює через трансляцію дзвінків до графічного API Vulkan. До складу пакету входять бібліотеки libvkd3d з реалізацій Direct3D 12, libvkd3d-shader з транслятором 4 і 5 моделі шейдерів і libvkd3d-utils з функціями для спрощення портування додатків Direct3D 12, а також набір демонстраційних прикладів 3D12D2.1Ds. під ліцензією LGPLvXNUMX.

Бібліотека libvkd3d підтримує більшу частину можливостей Direct3D 12, включаючи засоби для графіки та обчислень, черги та списки команд, дескриптори та дескриптори купи, кореневі сигнатури, неупорядкований доступ, Sampler-и, сигнатури команд, кореневі константи, непряму *() та Copy*(). У libvkd3d-shader реалізована трансляція байткоду моделей шейдерів у проміжне уявлення SPIR-V. Підтримуються вершинні, піксельні, тесселяційні, обчислювальні та прості геометричні шейдери, серіалізація та десеріалізація кореневої сигнатури. З шейдерних інструкцій реалізовані арифметичні, атомарні та бітові операції, оператори порівняння та управління потоком передачі даних, інструкції sample, gather та load, операції неупорядкованого доступу (UAV, Unordered Access View).

В новой версії:

  • Додана початкова підтримка мови шейдерів MSL (Metal Shading Language), що застосовується компанією Apple у графічному API Metal.
  • Реалізовано підтримку дизассемблера для бінарних ефектів.
  • У бібліотеці libvkd3 в інтерфейсі ID3D12GraphicsCommandList1 реалізовано метод OMSetDepthBounds() для динамічної зміни допустимого діапазону значень глибини в Z-буфері.
  • Додана змінна оточення VKD3D_CAPS_OVERRIDE для перевизначення інформації, що віддається додаткам, про доступні можливості, такі як рівні функціональності та зв'язування ресурсів, що максимально підтримуються.
  • У реалізацію мови шейдерів HLSL додано початкову підтримку тесселяційних шейдерів. Реалізовані вбудовані функції dst(), f32tof16(), mad(), modf() та sincos(). Для профілів 1, 2 та 3 моделей шейдерів додано підтримку операції «discard». Додано підтримку семантики вхідних даних SV_SampleIndex для фрагментних шейдерів та SV_GroupIndex для обчислювальних шейдерів.
  • Реалізовано велику порцію нових інструкцій для мови шейдерів GLSL.

Джерело: opennet.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster