[PR #1528] [MERGED] Tessellation #2154

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

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/1528
Author: @baggins183
Created: 11/13/2024
Status: Merged
Merged: 12/14/2024
Merged by: @raphaelthegreat

Base: mainHead: tess


📝 Commits (10+)

  • c9f0771 shader_recompiler: Tessellation WIP
  • 6a4cf27 fix compiler errors after merge
  • 917e02f WIP Tessellation partial implementation. Squash commits
  • bcc95bf test: make local/tcs use attr arrays
  • 8ab3da6 attr arrays in TCS/TES
  • 0c58c68 dont define empty attr arrays
  • 13523d8 switch to special opcodes for tess tcs/tes reads and tcs writes
  • b66db74 impl tcs/tes read attr insts
  • 256ee8f rebase fix
  • 2078da1 save some work

📊 Changes

54 files changed (+2146 additions, -189 deletions)

View changed files

📝 CMakeLists.txt (+3 -0)
📝 src/core/debug_state.cpp (+5 -4)
📝 src/core/debug_state.h (+12 -8)
📝 src/core/devtools/widget/shader_list.cpp (+9 -8)
📝 src/core/libraries/gnmdriver/gnmdriver.cpp (+4 -3)
📝 src/shader_recompiler/backend/spirv/emit_spirv.cpp (+61 -13)
📝 src/shader_recompiler/backend/spirv/emit_spirv_barriers.cpp (+10 -3)
📝 src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp (+128 -18)
📝 src/shader_recompiler/backend/spirv/emit_spirv_instructions.h (+6 -3)
📝 src/shader_recompiler/backend/spirv/spirv_emit_context.cpp (+130 -19)
📝 src/shader_recompiler/backend/spirv/spirv_emit_context.h (+20 -6)
src/shader_recompiler/frontend/tessellation.h (+38 -0)
📝 src/shader_recompiler/frontend/translate/data_share.cpp (+5 -4)
📝 src/shader_recompiler/frontend/translate/scalar_alu.cpp (+7 -3)
📝 src/shader_recompiler/frontend/translate/translate.cpp (+33 -8)
📝 src/shader_recompiler/frontend/translate/translate.h (+3 -2)
📝 src/shader_recompiler/frontend/translate/vector_alu.cpp (+8 -2)
📝 src/shader_recompiler/frontend/translate/vector_memory.cpp (+9 -3)
📝 src/shader_recompiler/info.h (+20 -2)
📝 src/shader_recompiler/ir/attribute.cpp (+12 -0)

...and 34 more files

📄 Description

Opening PR for testing, not close to merge

Only post results from this fork
https://github.com/baggins183/shadPS4/tree/tess

I know about the "Failed to create graphics pipeline" error on AMD, so dont post about that unless youve debugged the vkCreateGraphicsPipelines call and found something or can spot problems in the code.

Needs testing in other games that have tessellation shaders.

Also for BB, if someone can narrow down the hs_* and vs_* (domain) shaders responsible for blood splatter on clothes, or snow at cainhurst, that would help. Ive done some Cainhurst debugging with no luck so far. I can't confirm if its a tess problem or not.


🔄 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/1528 **Author:** [@baggins183](https://github.com/baggins183) **Created:** 11/13/2024 **Status:** ✅ Merged **Merged:** 12/14/2024 **Merged by:** [@raphaelthegreat](https://github.com/raphaelthegreat) **Base:** `main` ← **Head:** `tess` --- ### 📝 Commits (10+) - [`c9f0771`](https://github.com/shadps4-emu/shadPS4/commit/c9f0771c0fad7c70571237bceb34f67fa3bc7378) shader_recompiler: Tessellation WIP - [`6a4cf27`](https://github.com/shadps4-emu/shadPS4/commit/6a4cf2763a399267a50c20a85e917b5a25c0449b) fix compiler errors after merge - [`917e02f`](https://github.com/shadps4-emu/shadPS4/commit/917e02f99749ff05f2a1b336b108cc012af5f2aa) WIP Tessellation partial implementation. Squash commits - [`bcc95bf`](https://github.com/shadps4-emu/shadPS4/commit/bcc95bfbbc2c7a386fbd4958192412b268a086ec) test: make local/tcs use attr arrays - [`8ab3da6`](https://github.com/shadps4-emu/shadPS4/commit/8ab3da6b686ed40b8e809809ede5afd7bb857212) attr arrays in TCS/TES - [`0c58c68`](https://github.com/shadps4-emu/shadPS4/commit/0c58c681c723b3e3e14dfee0fb821f29573aa89a) dont define empty attr arrays - [`13523d8`](https://github.com/shadps4-emu/shadPS4/commit/13523d8a09d6d0eacbe1e8aa9ea0cf11d34a8134) switch to special opcodes for tess tcs/tes reads and tcs writes - [`b66db74`](https://github.com/shadps4-emu/shadPS4/commit/b66db74c617962cebc71a1c0f37fd4eb418afe5e) impl tcs/tes read attr insts - [`256ee8f`](https://github.com/shadps4-emu/shadPS4/commit/256ee8f7a01f8f87fa1432dfe9f4e8a6899f2ce9) rebase fix - [`2078da1`](https://github.com/shadps4-emu/shadPS4/commit/2078da1f6d0fef8022e3d4a93b4eba63c6d6884b) save some work ### 📊 Changes **54 files changed** (+2146 additions, -189 deletions) <details> <summary>View changed files</summary> 📝 `CMakeLists.txt` (+3 -0) 📝 `src/core/debug_state.cpp` (+5 -4) 📝 `src/core/debug_state.h` (+12 -8) 📝 `src/core/devtools/widget/shader_list.cpp` (+9 -8) 📝 `src/core/libraries/gnmdriver/gnmdriver.cpp` (+4 -3) 📝 `src/shader_recompiler/backend/spirv/emit_spirv.cpp` (+61 -13) 📝 `src/shader_recompiler/backend/spirv/emit_spirv_barriers.cpp` (+10 -3) 📝 `src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp` (+128 -18) 📝 `src/shader_recompiler/backend/spirv/emit_spirv_instructions.h` (+6 -3) 📝 `src/shader_recompiler/backend/spirv/spirv_emit_context.cpp` (+130 -19) 📝 `src/shader_recompiler/backend/spirv/spirv_emit_context.h` (+20 -6) ➕ `src/shader_recompiler/frontend/tessellation.h` (+38 -0) 📝 `src/shader_recompiler/frontend/translate/data_share.cpp` (+5 -4) 📝 `src/shader_recompiler/frontend/translate/scalar_alu.cpp` (+7 -3) 📝 `src/shader_recompiler/frontend/translate/translate.cpp` (+33 -8) 📝 `src/shader_recompiler/frontend/translate/translate.h` (+3 -2) 📝 `src/shader_recompiler/frontend/translate/vector_alu.cpp` (+8 -2) 📝 `src/shader_recompiler/frontend/translate/vector_memory.cpp` (+9 -3) 📝 `src/shader_recompiler/info.h` (+20 -2) 📝 `src/shader_recompiler/ir/attribute.cpp` (+12 -0) _...and 34 more files_ </details> ### 📄 Description Opening PR for testing, not close to merge Only post results from this fork https://github.com/baggins183/shadPS4/tree/tess I know about the "Failed to create graphics pipeline" error on AMD, so dont post about that unless youve debugged the vkCreateGraphicsPipelines call and found something or can spot problems in the code. Needs testing in other games that have tessellation shaders. Also for BB, if someone can narrow down the hs_\* and vs_\* (domain) shaders responsible for blood splatter on clothes, or snow at cainhurst, that would help. Ive done some Cainhurst debugging with no luck so far. I can't confirm if its a tess problem or not. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 21:15:24 +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#2154
No description provided.