作者playlive (???)
看板Emulator
标题[新闻] shadPS4 v0.21.0
时间Sat Oct 31 15:29:21 2026
shadPS4 v0.21.0
以下是机翻
[核心]
- 正确检查数位到类比输入平滑处理的输入来源
- cpu_patches:解决 Rosetta 2 错误翻译否定纯量比较的问题
- file_sys:在 stat 和 fstat 中回报稳定的档案身分识别
- 允许对 /addcont 路径进行档案类型识别
- emulator:停止在开机时清除暂存资料
- 新增 PT_SCE_MODULE_PARAM 案例
- cpu_patches:修正位於任何模组之外的位址上的 JIT 修补
- core:修正 MemoryManager::Free 解除对已释放范围之外的记忆体对应
- file_sys:当客体路径穿过一般档案时,不要中止
- 在 TryWriteBacking 中使用 VMA 指标代替复制
- cpu_patches:解决 Rosetta 2 在 VMASKMOVPS/PD 上的当机问题
- 处理 ELF 中继资料和工具链注解程式标头 (program headers)
- common:在 AccurateSleep 中为每个执行绪重复使用一个高解析度可等待计时器
- 当无法读取选用的 ELF 中继资料片段时,不要中止
- cpu_patches:修正 Rosetta 2 VMASKMOV 变通办法中的暂存器覆盖问题
- renderdoc:新增 macOS 的函式库名称
- renderdoc:新增 macOS 的替代路径
- lru_cache:修正 ForEachItemBelow 中的提早停止问题
- 避免在同一个执行绪上重新进入 Shutdown 时发生死结(deadlock)
- 在关闭时检查 elf 资讯是否已初始化
[函式库]
- kernel:实作与 Core::Net 整合的 I/O 事件伫列 API
- kernel:对非空目录执行 rmdir 时回传 ENOTEMPTY 错误
- app_content:实作 sceAppContentTemporaryDataMount
- kernel:如果在期限已过的情况下,在计时互斥锁中尝试不等待地上锁
- usbd:实作用於虚拟 USB 媒体存取的 libSceUsbStorage HLE
- http:允许带有周围空白字元的标头
- kernel, rtc:修正时区与日光节约时间 (DST) 计算
- music:实作 libSceMusicPlayerService HLE
- videodec2:排空暂挂的影格并使用 RAII 包装
- usbstorage:修正 OrbisUsbStorageDeviceInfo 的布局与填入
- app_content:实作 sceAppContentAddcontUnmount
- app_content:实作暂存资料的挂载与解除挂载
- np_auth 重写
- Ajm:自动侦测并安全解析 ATRAC9 的 RIGF 标头
- libSceVoice:对未连线的麦克风进行虚设常式处理,以修复 BO2 和 BO3 的当机问题
- net:在 sceNetGetSockInfo 中回报 recv_queue_length
- kernel:注册遗失的档案系统符号并修复 /dev/null 装置
- kernel:当父目录不存在时,从 mkdir 回传 ENOENT
- kernel:写入以唯读模式开启的档案时,回传 EBADF
- kernel:对於不合法的长度和唯读档案描述子,从 ftruncate 回传 EINVAL
- kernel:当档案不存在时,从 unlink 回传 ENOENT
- pad:实作 scePadReadExt 与 scePadReadStateExt
- gnmdriver:修复从陈旧的环形缓冲区偏移量开始的重新对应运算伫列
- app_content:从连结的服务载入额外内容 ( SERVICE_ID_ADDCONT_ADD_n )
- app_content:填入附加内容授权金钥
- app_content:修复授权金钥与服务标签
- playgo:修复语言遮罩 UB 与预设安装速度
- kernel:修复 posix_rename 中的自我重新命名删除与主机路径追踪
- music:实作 sceMusicPlayerServiceSetUsbStorageDeviceInfo
- kernel:实作 posix_flock 与 sceKernelFlock
- audio3d:修复对调的属性 ID
- audio3d:修复对调的属性 ID (OpenAL)
- kernel:改善 Neo 模式处理并实作遗失的 API
- kernel:当父目录不存在时,从 open(O_CREAT) 回传 ENOENT
- videodec:libSceVdecCore HLE 与 VideoCore 伺服器介面回呼
- np_trophy:修复白金奖盃永远无法解锁的问题
- threads:修复 Windows 中的堆叠基底值
- share_play:实作 sceSharePlayGetCurrentConnectionInfoA
- net:在 UDP 987 上回应 PS4 装置探索
- np_score:修正一些不准确的回传值与资料传输
- kernel:修复档案系统验证与 posix_select
- pad:回报 DualShock 4 触控板高度为 942 而非 950
- kernel:当父层是档案时,从 mkdir 回传 ENOTDIR
- save_data:传递备份完成回呼
- fiber:在 Windows 上将纤程 (fiber) 堆叠从 GPU 追踪的堆积中移开
- np_score:改善分数资料传输、可比较的日期以及好友排名的准确度
[视讯核心]
- 垃圾回收行程 (Garbage Collector)第 2 部分
- vk_runtime:在 CopyImageWithBuffer 中复制每个 Mip 级别
- 支援仅含样板 (stencil-only) 的深度目标并将样板大小调整解耦
- 修复 PM4 封包中的 CE/DE 计数器同步
- texture_cache:当其父影像首次建立时保留子资源资料
- texture_cache:在 ExpandImage 中不要复制过时的 CPU 脏污影像内容
- 修复全域 CE 任务排程
- texture_cache:舍弃被客体覆写未追踪边缘的 GPU 修改影像
- video_core:处理 PM4 IT_GET_LOD_STATS 封包
- video_core:在影像重新整理时重设杂凑
- video_core:修复未缩放 (Ubscaled) 数字格式名称
- vk_instance:在不支援撷取重播的驱动程式上支援 RenderDoc
- liverpool:跟随链结的间接缓冲区而不返回
- liverpool:在执行封包之前,根据读取的位移前进
- video_core:按维度比较子资源范围
- vk_rasterizer:藉由剪裁框限制无附件绘制行程的渲染区域
- video_core:在常数引擎中处理 PM4 Type 2 与倒带 (Rewind) 封包
- video_core:实作 PM4 串流输出缓冲区更新
[着色器重新编译器]
- 发出未定义的 64 位元整数
- 保留控制流图 (CFG) 的直通边缘
- 稳定 phi 取代 (deduplication) 顺序
- 在 LDS 屏障分析中考量单例维度 (singleton dimensions)
- 从 Phi 折叠中排除 GetUserData
- 接受 S_SLEEP 作为排程提示
- 处理缓冲区快取无效指令
- 新增 fast_shader_math 设定以放宽浮点数规则
- info.has_derivatives.Assign 现在也会检查 MimgModifier::CoarseDerivative
- 处理 HW_ID.SE_ID 读取
- 支援 S_SENDMSG 中的 GsOp::EmitCut
https://shadps4.net/downloads/
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.255.119.227 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Emulator/M.1793431764.A.606.html