[新聞] shadps4 v0.11.0
shadps4 v0.11.0
以下是機翻
[核心]
- 記憶體映射可執行記憶體
- 在 INSERTQ/EXTRQ 中將高位元清零
- 修復 Windows 上唯讀檔案的取消映射問題
- 將HLE函式庫的 RegisterLib 名稱標準化
- 檔案系統:修復open中建立標誌的處理問題
- 如果在 param.sfo 中 CONTENT_ID 為空,嘗試使用 TITLE_ID 作為備用
- 在遇到 ud2 時新增一個不可達標誌,以避免陷入無限迴圈
- 麥克風支援
- 僅在使用不同建置版本時才更新組態
- 核心:如果 DirectMemoryQuery 位址過高則返回錯誤
- 用於外部控制的簡單 IPC(進程間通訊)
- 檔案系統:修復對標準控制碼執行 close 呼叫時的錯誤行為
- 通訊端修復
- 在 MntPoints::IterateDirectory 中新增.和..的條目
- 記錄使用者 CPU、總記憶體和作業系統
- 檔案系統:與目錄相關的修復
- 記憶體:在 posix_munmap 中對齊大小和位址
- 檔案系統:抽象化目錄檔案的處理
- 用更具可攜性的解決方案取代直接使用 wrgsbase 和 rdgsbase
- 組態:新增呈現模式選項
- 遊戲特定組態
- 改善記憶體位址驗證邏輯
- 除對符號版本號(version_major 和 version_minor)的檢查
- 修復建立執行緒上的 MXCSR 和 FPUCW 暫存器
- 發生彈性記憶體不足時,MapMemory 記錄錯誤
- 如果系統中沒有音訊輸入裝置,則開啟一個虛擬音訊輸入裝置
- Ds4 喇叭音訊
[Libs]
- 新增遺失的 mprotect 匯出功能
- IME 修正
- video_out:支援內部解析度
- 實作 sceKernelGetSystemSwVersion
- 實作 sceAudio3dTerminate
- 實作 sceAudioOutGetLastOutputTime
- 註冊 posix_rename
- 實作 sceKernelError
- 使用自訂 usb 函式庫
- inet_ntop 和 inet_pton
- 從主機系統中擷取子網路遮罩和預設閘道
- 實作簡單的 DNS 名稱解析
- 在 AudioOut 中傳回已排入佇列的樣本數
- 在開啟搖桿前傳回錯誤
- scePadResetOrientation
- 修正 sceAudioOutOutputs
- 修正 Windows 上的 RetrieveNetmask
- 網路:修正各種與通訊端相關的問題
- sys_getpeername
- 實作 ORBIS_NET_CTL_INFO_HTTP_PROXY_CONFIG
- 修正 get/setsockopt 層級
- libkernel:更多用於 OpenOrbis 相容性的網路函數
- libSceAppContent:使用 DLC 資料夾的最後 16 個字元來確定授權標籤
- 使 libSceRtc 完全 HLE(高級別模擬)
- 修正影片/動畫中的綠色偽影(ffmpeg)
- 選取支援
- libSceAppContent:從附加內容 param.sfo 檔案確定授權標籤
- 修正 sceVoiceGetPortInfo
- 修正處理 RFC 3339 格式的日期
- libSceNpParty:將未在派對中的函數設為存根
- 新增 stubbed libSceNpProfileDialog 函式庫
- 更好的 libSceMove 存根
- 更好的 libSceCamera 存根
- 在 GetSocketOptions 中實作 ORBIS_NET_SO_ERROR_EX
- 改進的 libSceHmd 存根
- libSceHmdSetupDialog 存根
- libSceVrTracker 存根
- 號誌:反轉優先順序
- 號誌:修正取消/刪除時確定等待狀態的問題
- 實作 send/recvmsg
- libkernel:如果 mmap 的長度為 0,則傳回 EINVAL
- SaveData 修正
- 處理取消和清除中的空事件標誌
- AF_UNIX 初步支援
- Np 函式庫清理
- 實作 sceKernelIsInSandbox,更新 OrbisSysModule 列舉
- equeue:sceKernelWaitEqueue 的一些修正
- 實作 getargc 和 getargv
- sceGnmUnmapComputeQueue 的簡單實作
- 核心:對 condvars 的改進
- 核心:更多執行緒程式碼清理
[Shader 重編譯器]
- 修復與指令相關的邊緣案例
* 修復 V_ADDC_U32 進位 (carry-out) 邊緣案例
* 修復 ff1_i32_b64 不接受 vcc 作為其參數的問題
* 修復當著色器包含地址計算時,不應清除 HTILE 的問題
* 修正在本地著色器中實例 ID 擷取不正確的問題
* 修復當不支援 bary 座標時,載入不正確的問題
* 修正 attribute 中的 bary coord 函數
- 著色器與圖形管線
* 重組資料共享操作並實作 GDS(圖形資料共享)
* 實作 ff1 與子群組操作 (subgroup ops)
* 實作客體重心座標 (guest barycentrics)
* 實作 V_CMP_GT_U6 指令
* 實作用於短整數/位元組的 MUBUF 指令
* 實作 V_ADD_F64 並從 SGPR 載入 64 位元浮點數
* 改進著色器匯出的準確性 (第一部分)
* 在取用著色器 (fetch shaders) 中處理偏移量和格式覆寫
* 在頂點取用著色器中支援多個屬性使用相同的載入
* 當使用曲面細分 (tessellation) 模擬原始類型時,不發出 Layer
* 支援 PointSize 和 ViewportIndex 屬性
- 效能與最佳化
* ir_passes:折疊具有 ff1 模式的 readlane
* 以屬性除數 (attribute divisor) 取代緩衝區提取 (buffer pulling),
用於實例步進速率 (instance step rate)
* 為強韌性重製尖銳追蹤 (sharp tracking)
* 改進透過環形緩衝區傳遞的屬性啟發式 (heuristic)
* 指令與控制流
* control_flow_graph:將空條件分支視為無操作 (noop)
* 使用 VM 位元進行條件丟棄 (conditional discard)
* V_ALIGNBYTE_B32 和 V_ALIGNBIT_B32 指令
* 在 ParseCopyShader 中處理 S_LSHL_B32
* 在 S_FF1_I32_B64 中處理 ExecLo 來源
* 允許在 LoadBuffer/StoreBuffer 中的緩衝區地址參數中使用向量和純量偏移
- 其他
* ir:當採樣器設定 force_degamma 時,在著色器中執行去伽瑪 (degamma)
* 初始化所有 ClipDistance 和 CullDistance 值
* 應用浮點類型用於浮點緩衝區原子操作 (atomics)
* constant_propagation_pass:處理更多位元運算指令
* 放寬雙重來源混合 (dual source blending) 斷言,以允許最多兩個目標
* vector_interpolation:處理一些斷言
* image:不要為區塊編碼格式設定儲存使用 (storage usage)
[GPU]
- texture_cache(紋理快取):將深度解析的新影像改回資源的最大值
- texture_cache:支援 GPU 修改的線性影像非同步下載
- buffer_cache(緩衝區快取):恢復上傳批次處理和臨時緩衝區功能
- vk_rasterizer(Vulkan 點陣化器):當沒有綁定幀緩衝區時,將渲染區域設定為
視窗剪裁區
- renderer_vulkan(Vulkan 渲染器):處理更多雜項 GPU 設定
- vk_instance(Vulkan 實例):移除深度夾取控制功能的使用
- liverpool_to_vk(Liverpool 到 Vulkan 轉換器):清除值不使用重新映射的格式
- vk_pipeline_cache(Vulkan 管線快取):為 R8Srgb 和 B5G6R5 增加備援方案
- texture_cache:將緩衝區影像高度限制在微圖塊高度內
- vk_rasterizer:改善模板清除
- texture_cache:在體積紋理的複製過程中不修改 mip 高度
- video_core(影像核心):垃圾收集器(第一部分)
- video_core:重構圖塊管理器
- texture_cache:僅當影像位址大於零時才將影像下載排入佇列
- video_core:修復一些結構比較
- vk_pipeline_cache:清理圖形鍵刷新
- renderer_vulkan:恢復色彩寫入動態狀態
- vk_graphics_pipeline(Vulkan 圖形管線):當不支援獨立的剪裁/夾取控制時,
優先使用深度剪裁
- vk_pipeline_cache:將儲存影像新增至描述符堆中
- vk_scheduler(Vulkan 排程器):在 RenderState 中正確初始化 Vulkan 結構
- renderer_vulkan:當混合參數被停用時忽略它們
- vk_rasterizer:在解析中設定影像旗標位元
- liverpool:在 PixelPipeStatDump 上寫入有效的查詢
- amdgpu:以 GPU 週期報告 GPU 效能計數器
- vk_rasterizer:僅在執行索引繪製時對基本圖元重新啟動進行斷言
- video_core:上傳未映射頁面周圍的緩衝記憶體
- video_core:解決各種 UE 錯誤
- video_core:在執行深度匯出前檢查 DB_SHADER_CONTROL 暫存器
- texture_cache:確保回讀影像被及時下載
[Qt 介面]
- 擴展 Qt 偵測功能,支援多個磁碟機
- 修正 GUI 模擬器語言
- 音量滑桿,可在全域層級調整遊戲音量
- 在非官方主線分支上停用自動更新
- 新增預設的獎盃音效
- 在設定視窗中新增「讀回」(readbacks)的開關
- 僅在 AppVer 與遊戲版本匹配時套用金手指/補丁
- 多個控制器:選擇活動中的控制器並設定預設控制器
- 新增可自訂的控制器快捷鍵
- 重映射 GUI - 更多小幅修正
- 修正遊玩時間 - 未每分鐘儲存的問題
- 鍵盤/手把設定的通用預設名稱已翻譯成目標語言
- Qt:更新至 6.9.2 並移除 Mac 的暫時解決方法
- Qt:強制為鍵盤/滑鼠字串映射設定順序,以防止重複的組合映射
- 將 QT 外掛程式移至 Windows QT 版本的 qtplugins 資料夾
- 新增啟用/停用日誌記錄的開關
- Qt:在等待輸入時,防止重映射/快捷鍵對話框儲存或取消
- 新增選項,可在設定中更改 DLC 路徑
- 如果可用,使用更新的圖示、音樂和背景圖片
- Qt:新增 FSR 選項至設定 GUI
- 增加描述文字框的大小
- 日誌預設功能
- QT:調整獎盃檢視器(TrophyViewer)的大小並翻譯「日誌」分頁
- QT:為遊戲特定設定新增 GUI
- QT:將「日誌」分頁新增至「開啟設定時的預設分頁」
- Qt:在 GUI 中為新的實驗性設定新增描述
- QT:修正補丁的「不相容性通知」
- Qt:將遊戲特定和非遊戲特定的項目分組到相同的分頁中
- QT:在驗證工具提示中註明 Vulkan SDK 要求
https://shadps4.net/downloads/
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.100.96 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Emulator/M.1758285571.A.309.html
Emulator 近期熱門文章
PTT遊戲區 即時熱門文章
9
15
-17
26