Wine 8.0 候选版本和 vkd3d 1.6 版本

第一个候选版本 Wine 8.0 的测试已经开始,它是 WinAPI 的开放实现。 代码库已进入发布前的冻结阶段,预计在一月中旬发布。 自 Wine 7.22 发布以来,已关闭 52 个错误报告并进行了 538 项更改。

最重要的变化:

  • 带有 Direct3D 3 实现的 vkd12d 包通过对 Vulkan 图形 API 的调用转换工作,已更新到版本 1.6。
  • Vulkan 和 OpenGL 的系统调用转换器 (thunk) 已进行优化。
  • WinPrint 扩展了对打印处理器的支持。
  • 改进的操纵杆控制面板。
  • 为 printf 函数代码中的“long”类型提供支持的工作已经完成。
  • 与游戏操作相关的错误报告已关闭:《彩虹六号:维加斯 2》、《虚空》、《仙境传说 Online》、《Drakan》、《星球大战》、《科林·麦克雷》、《X-COM》。
  • 已关闭与应用程序操作相关的错误报告:TMUnlimiter 1.2.0.0、MDB Viewer Plus、Framemaker 8、Studio One Professional 5。

此外,我们还可以注意到 Wine 项目发布了 vkd3d 1.6 包,其中包含 Direct3D 12 的实现,通过对 Vulkan 图形 API 的调用进行转换。 该软件包包括具有 Direct3D 3 实现的 libvkd12d 库、具有着色器模型 3 和 4 转换器的 libvkd5d-shader 以及具有简化 Direct3D 3 应用程序移植功能的 libvkd12d-utils,以及一组演示示例,其中包括一个端口glxgears 到 Direct3D 12。项目代码根据 LGPLv2.1 进行分发许可。

libvkd3d 库支持大多数 Direct3D 12 功能,包括图形和计算设施、队列和命令列表、句柄和堆句柄、根签名、乱序访问、采样器、命令签名、根常量、间接渲染、清除方法 *( ) 和复制*()。 在 libvkd3d-shader 中,实现了将着色器模型 4 和 5 的字节码转换为中间 SPIR-V 表示形式。 支持顶点、像素、曲面细分、计算和简单几何着色器、根签名序列化和反序列化。 着色器指令包括算术、原子和位操作、比较和数据流控制运算符、采样、收集和加载指令、无序访问操作(UAV,Unordered Access View)。

新版本继续改进从 DirectX 9.0 开始提供的 HLSL(高级着色器语言)着色器编译器。与 HLSL 相关的改进包括:

  • 已实现对计算着色器的初步支持。
  • 改进了对初始化和分配复合对象(例如结构和数组)的支持。
  • 添加了使用乱序访问 (UAV) 加载和保存纹理资源的功能。
  • 添加了对函数属性的支持并实现了内置函数 asuint()、length()、normalize()。
  • 添加了对浮点模块的支持。
  • 实现了 VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS 标志以指示无序访问表示 (UAV) 描述符上的原子操作。

来源: opennet.ru

添加评论