嗨, 尤兹!欢迎收听我们每月进度报告的最新条目。我们有更多的 GPU 渲染修复, TAS 支持, 8 玩家混乱, 输入和 UI 变化, 一些初步工作, 为未来的大变化, 等等!
然而,更多的 AMD 特定更改和其他图形修复
某些 AMD 和英特尔 GPUs 无法使用 Vulkan API 的 yuzu 解锁 FPS 功能,因为演示模式缺乏驱动程序支持。然而,他们支持,另一种模式,允许Vulkan呈现在一个更高的帧速率比屏幕刷新率,所以史诗男孩做了必要的改变,以解锁这些GPU上的FPS。由于此演示模式的性质,这可能会导致屏幕上的可见撕裂,因此请记住,如果您尝试这样做。VK_PRESENT_MODE_MAILBOX_KHRVK_PRESENT_MODE_IMMEDIATE_KHR
这是只有 Rx 550 (地铁恐惧)
使用英特尔 Mesa 驱动程序在 Linux 中启动标题时,由于设备丢失错误,导致碰撞。问题在于帧的渲染和随后的演示之间的同步性。
以前,Yuzu 会发布 Vulkan 命令,然后等待帧呈现,然后再继续处理过程。虽然这对其他驱动程序和供应商来说很好,但 ANV(英特尔的 Vulkan 驱动程序)预计在此命令之前已经呈现了帧,从而导致此错误。Present
史诗男孩修复了同步行为,使玉豆现在等待,直到框架完全呈现和准备之前提出它。
随着 AMD 的 Windows 驱动程序版本 21.9.1 的发布,以及其等效的 AMDVLK 和 AMDGPU-PRO Vulkan Linux 对应产品,用户开始注意到大多数游戏在启动时出现崩溃。我们再次指责 AMD 打破了另一个扩展, 因为这不会是第一次。我们甚至挑出罪魁祸首, 提供了一个替代路径, 降低所有运行非 RADV 驱动程序的 AMD GPUs 的性能。Int8Float16
我们错了
原来,这是我们的错。史诗男孩发现,在初始化Vulkan的过程中,模拟器分配了国际8Float16的值后,其内存被释放。令人惊讶的是,这才开始影响官方AMD驱动器最近,在他们的定期Vulkan版本更新后。所以这次我们不得不放下草叉。此 PR 推出后,性能恢复正常。
AMD Windows 用户还熟悉完全变白或重影的某些阶段,类似于应用程序在 Windows XP 时代冻结时。那是好日子Super Smash Bros. Ultimate
嗯, 无论如何, AMD Radeon GPU 缺乏对固定点 24 位深度纹理的支持, 或 D24 简而言之, 一个相对常见的纹理格式的支持。为了绕过此硬件限制,Yuzu 改用 D32 纹理,这可能会在转换过程中导致精度问题。通过调整玉豆 D24 仿制的深度偏差和多边形偏移,闪烁鹰可以永远解决问题。
公平竞赛, 请 (超级粉碎兄弟终极)
还有一个AMD拉登的具体问题,是可见的,当播放。地形纹理是丰富多彩和损坏的,就像当 PC 玩家拨号 RGB 到 11。The Legend of Zelda: Breath of the Wild
这个问题影响了我们的常规嫌疑人,GCN4设备(Polaris,RX 400/500系列)和更老的,运行在Windows和Linux专有的Vulkan驱动程序。GCN5 (Vega)、RDNA1 和 RDNA2 设备未受影响。问题在于我们如何猜测游戏正在处理纹理。
一些信息首先:有几个方法来处理纹理,在这个特殊的例子,我们需要专注于两个,和。Cube MapsTexture Arrays
立方体地图是一个立方体,其六张面充满了不同的纹理。用于获取数据的坐标与常规 X 值和 Y 值不同,是源自中心并指向立方体表面的单个转角。
另一方面,纹理阵列就像名称所暗示的,一个接一个的纹理有序阵列,X 和 Y 用于在纹理内定位信息,Z 轴用于确定该阵列的纹理在使用中。
TL;DR,一个是球体,另一个是列表。
Vulkan 允许在以后需要时将纹理标记为可转换为立方体地图,但采样(读取)由游戏的着色器说明指定的纹理类型决定。然后,此类型传递到图形 API。我们这样做,游戏决定保持其纹理作为阵列,这是它自己的决定。但是,AMD 驱动程序决定将纹理采样为立方体地图,而忽略之前确定的纹理视图。
虽然这本身应该不是问题,因为坐标仍然可以从错误的纹理类型中拉出,但驱动程序最终可能会读错 texel。这可能导致快乐的彩虹地面,或黑暗和邪恶的地形。The Legend of Zelda: Breath of the WildHyrule Warriors: Age of Calamity
通过禁用 GCN4 上的 Cube 兼容性和运行官方 AMD 专有驱动程序的旧设备,史诗男孩将适当的意义回归到被破坏的 Hyrule 土地上。
我不喜欢 Rgb, 谢谢 (塞尔达传奇: 狂野的气息)
但没那么黑!(海鲁勇士:灾难时代)
说到 RGB,正如早在二月份讨论的那样,Yuzu 必须使用计算阴影器在 OpenGL 中转换大多数 BGR 纹理格式,以避免颜色不匹配。虽然这在大多数当前的 GPU 上都可能正常工作,但性能成本会影响较旧和较慢的产品。
开普勒系列 Nvidia GPU(通常是 GTX 600/700 系列,其中有几个也改名为 800 和 900 系列)的用户可能会经历这些性能处罚,同时也会产生渲染腐败。史诗男孩认为,我们只能使用(或PBO简称PBO)来代替所有受影响的纹理格式,而不是使用计算阴影器来挥动纹理。这有很多好处:它解决了开普勒 BGR 问题,提高了来自任何 GPU 供应商的弱设备的性能,并且也是(开发中的分辨率扩展器)的必修方法。Pixel Buffer ObjectsA.R.T.
及时的帽子
关于分辨率刻度器所需的更改主题,闪烁鹰对查询和索引采样器实施了修复。其结果是在英特尔和 AMD GPU 上玩时,无论是 Windows 还是 Linux 上的崩溃次数都更少。此 PR 也有助于提高稳定性。Luigi’s Mansion 3A.R.T.
另一个影响的问题是它在武尔坎使用泰塞尔德阴影。Vulkan 规范要求输入组装拓扑处于销售阶段。并非所有的游戏都遵循这一点,所以手动强制它解决一些司机经历的崩溃,更具体地说,你可能已经猜到了,AMD的专有。这一切都要归功于我们的鱼史诗男孩。Luigi’s Mansion 3PATCH_LIST
epicboy还修复了一些小错误与模具,一种数据缓冲,旨在帮助限制渲染区域的大小。因此,正确渲染其模型。WarioWare: Get It Together!
哇!(瓦里奥沃: 一起!
vonchenplus增加了对传统 GLSL 的支持,并将属性添加到我们的 Vulkan 后端,以便使用它们的任何游戏在使用此 API 时都能正确渲染。gl_Colorgl_TexCoord
这两个属性都是具有特定定义和用途的一组属性的一部分。但是,在 OpenGL 的新版本中,它们被弃用,转而支持程序员可以根据自己的需要自由定义的"通用"属性。
虽然 OpenGL 仍能够运行用于此传统功能的阴影,以便向后兼容,但到 Vulkan 创建时,它们已经被视为过时,这意味着此 API 缺乏后退。
vonchenplus 所做的是使用 Vulkan 中的通用属性来模拟这些功能,以便它们的行为与传统的 GLSL 属性完全一致。
之后,vonchenplus 更正了用于混合纹理的一个内纳姆中值的定义。
这两个变化都会影响,修复此游戏中存在的图形错误。DRAGON QUEST III: The Seeds of Salvation
龙任务三:救恩的种子
工具辅助速度运行
怪物德鲁伊德 1增加了塔斯支持yuzu!这意味着可以在游戏中记录和重播精确输入命令。用于存储它们的格式是TAS-nx实现的格式,我们在此处有关于如何启用和使用此功能的指南。
您可以通过访问 TAS 配置Tools > Configure TAS…
然而,更多的 AMD 特定更改和其他图形修复
某些 AMD 和英特尔 GPUs 无法使用 Vulkan API 的 yuzu 解锁 FPS 功能,因为演示模式缺乏驱动程序支持。然而,他们支持,另一种模式,允许Vulkan呈现在一个更高的帧速率比屏幕刷新率,所以史诗男孩做了必要的改变,以解锁这些GPU上的FPS。由于此演示模式的性质,这可能会导致屏幕上的可见撕裂,因此请记住,如果您尝试这样做。VK_PRESENT_MODE_MAILBOX_KHRVK_PRESENT_MODE_IMMEDIATE_KHR
这是只有 Rx 550 (地铁恐惧)
使用英特尔 Mesa 驱动程序在 Linux 中启动标题时,由于设备丢失错误,导致碰撞。问题在于帧的渲染和随后的演示之间的同步性。
以前,Yuzu 会发布 Vulkan 命令,然后等待帧呈现,然后再继续处理过程。虽然这对其他驱动程序和供应商来说很好,但 ANV(英特尔的 Vulkan 驱动程序)预计在此命令之前已经呈现了帧,从而导致此错误。Present
史诗男孩修复了同步行为,使玉豆现在等待,直到框架完全呈现和准备之前提出它。
随着 AMD 的 Windows 驱动程序版本 21.9.1 的发布,以及其等效的 AMDVLK 和 AMDGPU-PRO Vulkan Linux 对应产品,用户开始注意到大多数游戏在启动时出现崩溃。我们再次指责 AMD 打破了另一个扩展, 因为这不会是第一次。我们甚至挑出罪魁祸首, 提供了一个替代路径, 降低所有运行非 RADV 驱动程序的 AMD GPUs 的性能。Int8Float16
我们错了
原来,这是我们的错。史诗男孩发现,在初始化Vulkan的过程中,模拟器分配了国际8Float16的值后,其内存被释放。令人惊讶的是,这才开始影响官方AMD驱动器最近,在他们的定期Vulkan版本更新后。所以这次我们不得不放下草叉。此 PR 推出后,性能恢复正常。
AMD Windows 用户还熟悉完全变白或重影的某些阶段,类似于应用程序在 Windows XP 时代冻结时。那是好日子Super Smash Bros. Ultimate
嗯, 无论如何, AMD Radeon GPU 缺乏对固定点 24 位深度纹理的支持, 或 D24 简而言之, 一个相对常见的纹理格式的支持。为了绕过此硬件限制,Yuzu 改用 D32 纹理,这可能会在转换过程中导致精度问题。通过调整玉豆 D24 仿制的深度偏差和多边形偏移,闪烁鹰可以永远解决问题。
公平竞赛, 请 (超级粉碎兄弟终极)
还有一个AMD拉登的具体问题,是可见的,当播放。地形纹理是丰富多彩和损坏的,就像当 PC 玩家拨号 RGB 到 11。The Legend of Zelda: Breath of the Wild
这个问题影响了我们的常规嫌疑人,GCN4设备(Polaris,RX 400/500系列)和更老的,运行在Windows和Linux专有的Vulkan驱动程序。GCN5 (Vega)、RDNA1 和 RDNA2 设备未受影响。问题在于我们如何猜测游戏正在处理纹理。
一些信息首先:有几个方法来处理纹理,在这个特殊的例子,我们需要专注于两个,和。Cube MapsTexture Arrays
立方体地图是一个立方体,其六张面充满了不同的纹理。用于获取数据的坐标与常规 X 值和 Y 值不同,是源自中心并指向立方体表面的单个转角。
另一方面,纹理阵列就像名称所暗示的,一个接一个的纹理有序阵列,X 和 Y 用于在纹理内定位信息,Z 轴用于确定该阵列的纹理在使用中。
TL;DR,一个是球体,另一个是列表。
Vulkan 允许在以后需要时将纹理标记为可转换为立方体地图,但采样(读取)由游戏的着色器说明指定的纹理类型决定。然后,此类型传递到图形 API。我们这样做,游戏决定保持其纹理作为阵列,这是它自己的决定。但是,AMD 驱动程序决定将纹理采样为立方体地图,而忽略之前确定的纹理视图。
虽然这本身应该不是问题,因为坐标仍然可以从错误的纹理类型中拉出,但驱动程序最终可能会读错 texel。这可能导致快乐的彩虹地面,或黑暗和邪恶的地形。The Legend of Zelda: Breath of the WildHyrule Warriors: Age of Calamity
通过禁用 GCN4 上的 Cube 兼容性和运行官方 AMD 专有驱动程序的旧设备,史诗男孩将适当的意义回归到被破坏的 Hyrule 土地上。
我不喜欢 Rgb, 谢谢 (塞尔达传奇: 狂野的气息)
但没那么黑!(海鲁勇士:灾难时代)
说到 RGB,正如早在二月份讨论的那样,Yuzu 必须使用计算阴影器在 OpenGL 中转换大多数 BGR 纹理格式,以避免颜色不匹配。虽然这在大多数当前的 GPU 上都可能正常工作,但性能成本会影响较旧和较慢的产品。
开普勒系列 Nvidia GPU(通常是 GTX 600/700 系列,其中有几个也改名为 800 和 900 系列)的用户可能会经历这些性能处罚,同时也会产生渲染腐败。史诗男孩认为,我们只能使用(或PBO简称PBO)来代替所有受影响的纹理格式,而不是使用计算阴影器来挥动纹理。这有很多好处:它解决了开普勒 BGR 问题,提高了来自任何 GPU 供应商的弱设备的性能,并且也是(开发中的分辨率扩展器)的必修方法。Pixel Buffer ObjectsA.R.T.
及时的帽子
关于分辨率刻度器所需的更改主题,闪烁鹰对查询和索引采样器实施了修复。其结果是在英特尔和 AMD GPU 上玩时,无论是 Windows 还是 Linux 上的崩溃次数都更少。此 PR 也有助于提高稳定性。Luigi’s Mansion 3A.R.T.
另一个影响的问题是它在武尔坎使用泰塞尔德阴影。Vulkan 规范要求输入组装拓扑处于销售阶段。并非所有的游戏都遵循这一点,所以手动强制它解决一些司机经历的崩溃,更具体地说,你可能已经猜到了,AMD的专有。这一切都要归功于我们的鱼史诗男孩。Luigi’s Mansion 3PATCH_LIST
epicboy还修复了一些小错误与模具,一种数据缓冲,旨在帮助限制渲染区域的大小。因此,正确渲染其模型。WarioWare: Get It Together!
哇!(瓦里奥沃: 一起!
vonchenplus增加了对传统 GLSL 的支持,并将属性添加到我们的 Vulkan 后端,以便使用它们的任何游戏在使用此 API 时都能正确渲染。gl_Colorgl_TexCoord
这两个属性都是具有特定定义和用途的一组属性的一部分。但是,在 OpenGL 的新版本中,它们被弃用,转而支持程序员可以根据自己的需要自由定义的"通用"属性。
虽然 OpenGL 仍能够运行用于此传统功能的阴影,以便向后兼容,但到 Vulkan 创建时,它们已经被视为过时,这意味着此 API 缺乏后退。
vonchenplus 所做的是使用 Vulkan 中的通用属性来模拟这些功能,以便它们的行为与传统的 GLSL 属性完全一致。
之后,vonchenplus 更正了用于混合纹理的一个内纳姆中值的定义。
这两个变化都会影响,修复此游戏中存在的图形错误。DRAGON QUEST III: The Seeds of Salvation
龙任务三:救恩的种子
工具辅助速度运行
怪物德鲁伊德 1增加了塔斯支持yuzu!这意味着可以在游戏中记录和重播精确输入命令。用于存储它们的格式是TAS-nx实现的格式,我们在此处有关于如何启用和使用此功能的指南。
您可以通过访问 TAS 配置Tools > Configure TAS…