vkd3d 1.2进行了兼容性改进,着色等功能

萨尔瓦多PROYECTO Wine已发布了vkd3d 1.2软件包的新版本Direct3D 12实施 通过将调用转换为Vulkan图形API来工作。

vkd3d 1.2的新版本 包含各种改进, 但最突出的是 libvkd3d-shader作为公共库的可用性中, 着色器支持 细分,以及流量输出支持。

包装并包括具有Direct3D 3实现的libvkd12d库,libvkd3d-shader 带有模型4和5着色器转换器,以及具有简化Direct3D 3应用程序迁移功能的libvkd12d-utils,以及一系列演示,包括glxgears端口到Direct3D 12的移植。该项目代码已根据LGPLv2.1分发许可。

图书馆 libvkd3d支持Direct3D 12的大多数功能, 包括图形和计算功能,命令队列和列表,堆描述符和描述符,根签名,无序访问,采样器,命令签名,根常量,间接表示等。

Libvkd3d着色器 实现字节码4和5的转换 SPIR-V中间表示形式中的阴影图案。 支持顶点,像素,细分,计算和简单几何着色器,根签名序列化和反序列化。

着色器指令包括算术,原子和按位运算, 数据流控制和比较运算符,采样,收集和加载指令,无序访问操作(UAV,无序访问视图)。

在当前开发阶段,并非所有对Direct3D 12的调用都已实现 测试主要在一组演示应用程序上进行。 该版本不包括开发中的功能,例如对复杂的几何着色器和细分的支持,以及与Direct3D 12基本方法和着色器有关的许多增强功能,这些功能将在将来的版本中提供。

Vkd3d 1.2的主要新功能

新版本中最重要的更改是 libvkd3d-shader库可用性 用于第三方项目,因为 添加了各种Direct3D 12功能,例如:

  • 多重采样。
  • 预留资源。
  • 实例数据通过率。
  • 所有接口的“私有数据” API。
  • 着色器资源视图组件映射。
  • VK_KHR_draw_indirect_count扩展名。
  • 谓词/条件表示。
  • 没有像素着色器的深度渲染。
  • 深度切口。 这需要VK_EXT_depth_clip_enable扩展名。
  • 丢弃光栅化器。
  • 双源混合。
  • 放置资源的映射。
  • ReadFromSubresource()和WriteToSubresource()ID3D12Resource方法。
  • 同时访问多队列资源。
  • 空视图。 也就是说,没有基础资源的视图。
  • 其他几个功能支持查询。

除此之外, 还强调了对转换,序列化和反序列化签名的附加支持 root(vkd3d_serialize_versioned_root_signature()和vkd3d_create_versioned_root_signature_deserializer(),以及对流输出的支持。

另一个引人注目的变化是 环境变量的实现: VKD3D_CONFIG设置选项以更改libvkd3d和VKD3D_VULKAN_DEVICE的行为,以覆盖Vulkan API的设备。

除此之外 增加了对阴影指令的支持 bufinfo,eval_centroid,eval_sample_index,ld2ms,sample_b,sample_d,sample_info,samplepos 并初步支持5.1型着色器。

并且还支持OpenGL SPIR-V目标环境。 这允许libvkd3d-shader生成的SPIR-V与GL_ARB_gl_spirv一起使用。 这包括对OpenGL原子计数器和组合采样器的支持。

最后 如果您想了解更多 关于此新版本,您可以查看更改的完整列表 在下面的链接中。

如何在Linux上安装vkd3d?

对于那些有兴趣在其系统上安装vkd3d的人,他们应该获取源代码并继续进行编译,尽管出于实际目的或对于那些新手,他们可以毫不费力地尝试使用该库。 为此,他们只需要在其配置中安装lutris。

对于那些对编译感兴趣的人,他们必须使用以下代码获取代码:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

最后,必须启用Vulkan层:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。