作者playlive (???)
看板Emulator
标题[新闻] shadps4 v0.10.0
时间Mon Jul 7 14:08:04 2025
shadps4 v0.10.0
以下是机翻润饰
[Core]
- 开发工具:新增模组检视器
- equeue:修复 WaitEqueue 在 nullptr 上的断言,并将小型计时器检查
移至 WaitForEvents
- 记忆体清理与修复:进行了大量记忆体清理和修复
- Pthread 亲和性修复:修正 Pthread 亲和性问题
- 模拟 libSceGnmDriver 的初始化行为
- equeue:修正使用者触发的 equeue 事件中传递使用者资料的问题
- 记忆体:将限制阈值降低至 2MB
- 改进 sceKernelMapNamedFlexibleMemory 记录并新增杂项函式汇出
- CPU 补丁:修补 movntss 和 movntsd 指令
- equeue:高解析度计时器修复
- 档案系统:修正 posix_rename 和 write 的问题
- 输入:消除未映射按键绑定的静音警告,并新增 Xbox 拨片支援
- 输入:将「返回按钮行为」替换为可重新绑定的解决方案,用於触控板的左、右和中心
- 输入:用滑鼠模拟运动控制
- 输入:程式码和文件清理
- 核心:检查 sceKernelGetModuleInfoFromAddr 中返回的模组
- 位元阵列:移除非 const 运算子 ~
- 设定:启动时更新过时的设定档
[Libs]
- 新增 libSceCompanionUtil、libSceVoice 存根
- 网路:实作 sceNetInetNtop
- 手把:修正触控板处理并更改陀螺仪计算
- np_manager:新增选项以伪造使用者已登入 PSN
- zlib:修正请求伫列
- video_out:修正 sceVideoOutGetResolutionStatus 错误行为
- videodec2:更新结构以符合较新的韧体
- np_trophy:更改初始上下文和处理值
- np_trophy:修正潜在的越界当机
- 核心:存根 SetGPO 和 GetGPI
- ngs2:在 HLE Ngs2 函式库中初始化系统控制代码
- video_out:新增处理 sceVideodec2GetPictureInfo 中旧版结构行为的
替代程式码路径
[着色器重编译器]
- 修正 FPRecip64 上不正确的浮点类型
- 实作以下操作码:V_CVT_F64_U32、V_RCP_LEGACY_F32、S_FLBIT_I32_B64、
BUFFER_ATOMIC_CMPSWAP、DS_READ_U16、DS_WRITE_B16、
DS_ADD_U64、BUFFER_ATOMIC_SMAX_X2、BUFFER_ATOMIC_
- 杂项操作码修复
- 处理 MIMG 指令中的 R128 位元
- 为取样器提供自订边框颜色
- 实作双源混合
- 实作线性插值支援
- 更好地处理几何着色器情境 G
- 在段错误时修补 SRT 扫描器
- 清理片段属性处理
- 修复共用记忆体和原子操作的各种问题
- 减少需要共用记忆体到缓冲区传递的情况
- 修复仅使用一种类型时的共用记忆体定义
- 处理即时内联取样器
- 修复省略工作组结构时的一些共用记忆体存取问题
- 实作缓冲区原子 fmin/fmax 指令
- 修复处理未绑定深度影像的问题
- 最佳化缓冲区寻址的一般情况
- 当影像用於原子操作时,将其标记为已写入
[GPU]
- video_core:实作直接记忆体存取 (Direct Memory Access)
- 修正缓冲区复制到影像时的影像范围
- texture_cache:处理相同位址和不同平铺模式的重叠
- liverpool:存根 PM4 操作码 0x8E (GetLodStats) 和 0x20 (SetPredication)
- liverpool:实作 PM4 操作码 0x22 (CondExec)
- texture_cache:修正 ExpandImage 行为
- buffer_cache:更好地搜寻影像以进行缓冲区验证
- texture_cache:处理未压缩影像的压缩检视
- buffer_cache:将资料内联到 CPU,除非 GPU 已修改
- tile_manager:将断言降级为错误
- texture_cache:基本处理部分驻留影像
- liverpool:处理 acb 中的 PM4 类型 2
- vulkan:修复共用记忆体更改导致的两个验证错误
- texture_cache:实作颜色 <-> 深度复制
- buffer_cache:增加装置本地暂存缓冲区大小
- texture_cache:实作颜色到多重采样深度 blit 传递
- vulkan:启用 sampleRateShading
- vulkan:记录不正确的影像格式使用
- video_core:页面管理器/区域管理器最佳化
- video_core:页面管理器和记忆体追踪器改进
- vk_rasterizer:使用 shared_first_mutex
- vector_alu:改进 mbcnt append/consume 模式的处理
- buffer_cache:修复资料上传和失效的各种执行绪竞争
[GUI]
- 翻译:大量的 Crowdin 更新
- 自动更新:修正变更日志错误
- 游戏列表:将最小图示大小列表设为 48
- Qt:更新到 6.9.1
- Qt:将 GUI 设定储存到单独的档案
- remapping_gui:如果找到重复的唯一输入,显示哪些按钮有重复
- remapping_gui:更新 GUI 以支援新的触控板输入
- 游戏列表:游戏列表中的收藏夹功能
- remapping_gui:重写控制器选单并对键盘和滑鼠选单进行次要修复
[杂项]
- fork_detection:修复 SSH 远端连结
- 建置:为 Fedora 新增缺失的依赖项
- 启动:透过提供游戏资料夹而非 eboot 路径来启动游戏
- 启动:新增选项以忽略游戏补丁
- 建置:将套件名称更改为 openal-soft-devel,以反映 Fedora 套件名称的更改
- CI:解决新 Xcode 上的 Qt 问题
- 建置:新增 CMakePresets.json 并扩展配置数量
- 建置:更新关於递归复制的说明
- 建置:在 Windows 上自动侦测 Qt 安装路径
一如既往,你可以在这里查看完整的更新日志。
https://github.com/shadps4-emu/shadPS4/compare/v.0.9.0...v.0.10.0
本次发布带来的新功能是「回读」(readbacks),它透过将GPU上修改过的记忆体读回
CPU端来模拟PS4上的共享记忆体,这让更多游戏能够正常运行,修复了《血源诅咒》及类
似游戏中的顶点爆炸问题,几乎完全修复了《食人巨鹰TRICO》中攀爬TRICO的问题,以及
更多其他改进。不过,此功能预设是关闭的,你需要手动在设定档中开启它,因为这仍然
是一个非常实验性的功能,可能会导致某些游戏出现问题,而且它也会对性能造成不小的
影响。
https://github.com/shadps4-emu/shadPS4/releases/tag/v.0.10.0
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.255.127.187 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Emulator/M.1751868492.A.23D.html