[PR #206] [MERGED] Add more shader instructions and some memory functions #1392

Closed
opened 2026-02-27 21:12:22 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/206
Author: @raphaelthegreat
Created: 6/22/2024
Status: Merged
Merged: 6/22/2024
Merged by: @georgemoralis

Base: mainHead: shader-again


📝 Commits (10+)

  • 8850c2f shader_recompiler: Add more instructions
  • 7bdaeaf kernel: Make sceKernelUsleep interruptible
  • 2506a28 kernel: Implement some functions
  • 30351ad linker: Fix TLS for dynamic modules
  • 30199fe kernel: Add scePthreadExit
  • 7414270 shader_recompiler: Even more instructions
  • 11bfdf2 kernel: Add noreturn
  • 73d60b7 linker: Set rela bits for all symbol types
  • 11a3906 clang fix
  • 32225f4 more clang fix

📊 Changes

22 files changed (+248 additions, -31 deletions)

View changed files

📝 src/core/libraries/kernel/event_flag/event_flag.cpp (+3 -3)
📝 src/core/libraries/kernel/libkernel.cpp (+5 -1)
📝 src/core/libraries/kernel/memory_management.cpp (+7 -0)
📝 src/core/libraries/kernel/memory_management.h (+1 -0)
📝 src/core/libraries/kernel/thread_management.cpp (+5 -0)
📝 src/core/libraries/kernel/time_management.cpp (+12 -2)
📝 src/core/linker.cpp (+14 -4)
📝 src/core/linker.h (+32 -3)
📝 src/core/memory.cpp (+3 -3)
📝 src/core/memory.h (+10 -1)
📝 src/core/module.cpp (+2 -3)
📝 src/core/module.h (+4 -1)
📝 src/shader_recompiler/backend/spirv/emit_spirv_image.cpp (+5 -1)
📝 src/shader_recompiler/frontend/translate/scalar_alu.cpp (+40 -0)
📝 src/shader_recompiler/frontend/translate/translate.cpp (+34 -1)
📝 src/shader_recompiler/frontend/translate/translate.h (+8 -1)
📝 src/shader_recompiler/frontend/translate/vector_alu.cpp (+48 -0)
📝 src/shader_recompiler/frontend/translate/vector_memory.cpp (+5 -3)
📝 src/shader_recompiler/ir/passes/resource_tracking_pass.cpp (+3 -1)
📝 src/video_core/amdgpu/liverpool.h (+3 -1)

...and 2 more files

📄 Description

  • Adds a few more instructions based on testing various games.
  • Properly implements available flexible memory query based on the structures linked by red_prig
  • Set rela bits for all symbol types. This fixes problems with games that load many modules and the main module stores some state, which might get trashed when relocated again

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/206 **Author:** [@raphaelthegreat](https://github.com/raphaelthegreat) **Created:** 6/22/2024 **Status:** ✅ Merged **Merged:** 6/22/2024 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `shader-again` --- ### 📝 Commits (10+) - [`8850c2f`](https://github.com/shadps4-emu/shadPS4/commit/8850c2f4be076566b1c9eaa8ea5744d38b937fdd) shader_recompiler: Add more instructions - [`7bdaeaf`](https://github.com/shadps4-emu/shadPS4/commit/7bdaeafdfdaef3eb3635387ecdfdc398f82ae69e) kernel: Make sceKernelUsleep interruptible - [`2506a28`](https://github.com/shadps4-emu/shadPS4/commit/2506a285f47a239b3f1420460fe524175a5fea40) kernel: Implement some functions - [`30351ad`](https://github.com/shadps4-emu/shadPS4/commit/30351ad1120648b44f5052dce6360c89f00dad2e) linker: Fix TLS for dynamic modules - [`30199fe`](https://github.com/shadps4-emu/shadPS4/commit/30199fe7018b012b31e6b47c769c53f8dc71ea61) kernel: Add scePthreadExit - [`7414270`](https://github.com/shadps4-emu/shadPS4/commit/741427040f6d923973c2255684b04194a6d1aa9b) shader_recompiler: Even more instructions - [`11bfdf2`](https://github.com/shadps4-emu/shadPS4/commit/11bfdf23480e03b48879d6e0c2ab175275609832) kernel: Add noreturn - [`73d60b7`](https://github.com/shadps4-emu/shadPS4/commit/73d60b7e8db64c64ef34468f454f1390378556e6) linker: Set rela bits for all symbol types - [`11a3906`](https://github.com/shadps4-emu/shadPS4/commit/11a3906243ed905ca6b42597a9bb43fe14c2419d) clang fix - [`32225f4`](https://github.com/shadps4-emu/shadPS4/commit/32225f4a8b9f9f88969ed6fef4b9ba32a3e1e5d5) more clang fix ### 📊 Changes **22 files changed** (+248 additions, -31 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/kernel/event_flag/event_flag.cpp` (+3 -3) 📝 `src/core/libraries/kernel/libkernel.cpp` (+5 -1) 📝 `src/core/libraries/kernel/memory_management.cpp` (+7 -0) 📝 `src/core/libraries/kernel/memory_management.h` (+1 -0) 📝 `src/core/libraries/kernel/thread_management.cpp` (+5 -0) 📝 `src/core/libraries/kernel/time_management.cpp` (+12 -2) 📝 `src/core/linker.cpp` (+14 -4) 📝 `src/core/linker.h` (+32 -3) 📝 `src/core/memory.cpp` (+3 -3) 📝 `src/core/memory.h` (+10 -1) 📝 `src/core/module.cpp` (+2 -3) 📝 `src/core/module.h` (+4 -1) 📝 `src/shader_recompiler/backend/spirv/emit_spirv_image.cpp` (+5 -1) 📝 `src/shader_recompiler/frontend/translate/scalar_alu.cpp` (+40 -0) 📝 `src/shader_recompiler/frontend/translate/translate.cpp` (+34 -1) 📝 `src/shader_recompiler/frontend/translate/translate.h` (+8 -1) 📝 `src/shader_recompiler/frontend/translate/vector_alu.cpp` (+48 -0) 📝 `src/shader_recompiler/frontend/translate/vector_memory.cpp` (+5 -3) 📝 `src/shader_recompiler/ir/passes/resource_tracking_pass.cpp` (+3 -1) 📝 `src/video_core/amdgpu/liverpool.h` (+3 -1) _...and 2 more files_ </details> ### 📄 Description * Adds a few more instructions based on testing various games. * Properly implements available flexible memory query based on the structures [linked](https://github.com/shadps4-emu/shadPS4/pull/164#issuecomment-2150717410) by red_prig * Set rela bits for all symbol types. This fixes problems with games that load many modules and the main module stores some state, which might get trashed when relocated again --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 21:12:22 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#1392
No description provided.