[PR #207] [MERGED] Initial instancing and asynchronous compute queues #1394

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/207
Author: @psucien
Created: 6/22/2024
Status: Merged
Merged: 6/22/2024
Merged by: @raphaelthegreat

Base: mainHead: graphics/new_features


📝 Commits (10+)

  • 667a35a gnm_driver: added sceGnmRegisterOwner and sceGnmRegisterResource
  • f7fc851 video_out: sceVideoOutGetDeviceCapabilityInfo for sdk runtime
  • 3684a76 gnm_driver: correct vqid index range
  • 0d98dd8 amdgpu: indirect buffer, release mem and some additional irq modes
  • 9b86c61 amdgpu: added ASC commands processor
  • cd1689b shader_recompiler: added support for fetch instance id
  • 1d1d223 amdgpu: classic bitfields for T# representation (debugging experience)
  • 2992338 renderer_vulkan: skip zero sized VBs from binding
  • d2737ae texture_cache: image upload logic moved into Image object
  • 2618a1f gnm_driver: sceGnmDingDong implementation

📊 Changes

19 files changed (+361 additions, -100 deletions)

View changed files

📝 src/core/libraries/error_codes.h (+1 -0)
📝 src/core/libraries/gnmdriver/gnmdriver.cpp (+39 -11)
📝 src/core/libraries/gnmdriver/gnmdriver.h (+4 -3)
📝 src/core/libraries/videoout/video_out.cpp (+2 -0)
📝 src/shader_recompiler/frontend/fetch_shader.cpp (+3 -0)
📝 src/shader_recompiler/frontend/fetch_shader.h (+6 -5)
📝 src/shader_recompiler/frontend/translate/translate.cpp (+6 -0)
📝 src/shader_recompiler/ir/passes/resource_tracking_pass.cpp (+4 -4)
📝 src/shader_recompiler/runtime_info.h (+8 -0)
📝 src/video_core/amdgpu/liverpool.cpp (+67 -2)
📝 src/video_core/amdgpu/pm4_cmds.h (+108 -0)
📝 src/video_core/amdgpu/pm4_opcodes.h (+1 -0)
📝 src/video_core/amdgpu/resource.h (+48 -40)
📝 src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp (+8 -3)
📝 src/video_core/texture_cache/image.cpp (+38 -7)
📝 src/video_core/texture_cache/image.h (+14 -2)
📝 src/video_core/texture_cache/image_view.cpp (+1 -1)
📝 src/video_core/texture_cache/texture_cache.cpp (+3 -21)
📝 src/video_core/texture_cache/tile_manager.cpp (+0 -1)

📄 Description

This PR is dedicated mostly to support for ASC submissions (dingDong).
Also, there are changes for basic instancing support. However, it doesn't handle step rates, as they will require switching to instance data pulling in a vertex shader.

The next functions were added:

  • sceGnmRegisterOwner
  • sceGnmRegisterResource
  • sceVideoOutGetDeviceCapabilityInfo (correct lib version)
  • sceGnmDingDong

🔄 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/207 **Author:** [@psucien](https://github.com/psucien) **Created:** 6/22/2024 **Status:** ✅ Merged **Merged:** 6/22/2024 **Merged by:** [@raphaelthegreat](https://github.com/raphaelthegreat) **Base:** `main` ← **Head:** `graphics/new_features` --- ### 📝 Commits (10+) - [`667a35a`](https://github.com/shadps4-emu/shadPS4/commit/667a35acdc82470523ce8a89e6d845e512553dba) gnm_driver: added `sceGnmRegisterOwner` and `sceGnmRegisterResource` - [`f7fc851`](https://github.com/shadps4-emu/shadPS4/commit/f7fc8519a8bdb3a0c54dd152f9d0136919f52362) video_out: `sceVideoOutGetDeviceCapabilityInfo` for sdk runtime - [`3684a76`](https://github.com/shadps4-emu/shadPS4/commit/3684a764adbb838861cf7d942c4485deb71e860b) gnm_driver: correct vqid index range - [`0d98dd8`](https://github.com/shadps4-emu/shadPS4/commit/0d98dd85130f075d5b129fce66e60b79a79f7dbf) amdgpu: indirect buffer, release mem and some additional irq modes - [`9b86c61`](https://github.com/shadps4-emu/shadPS4/commit/9b86c615691d527bd015206bbaffd0e1b4857233) amdgpu: added ASC commands processor - [`cd1689b`](https://github.com/shadps4-emu/shadPS4/commit/cd1689b74b69aefae9cbeabefc6621a1e12877e2) shader_recompiler: added support for fetch instance id - [`1d1d223`](https://github.com/shadps4-emu/shadPS4/commit/1d1d223b02f9081e043ccd0c2226ddb5f4a5fddc) amdgpu: classic bitfields for T# representation (debugging experience) - [`2992338`](https://github.com/shadps4-emu/shadPS4/commit/29923389f2f19a99a6cb08cd166b4035997b0ce1) renderer_vulkan: skip zero sized VBs from binding - [`d2737ae`](https://github.com/shadps4-emu/shadPS4/commit/d2737ae1113d8354121ac1935bc899a4018051e6) texture_cache: image upload logic moved into `Image` object - [`2618a1f`](https://github.com/shadps4-emu/shadPS4/commit/2618a1f91d4919e4c8afeb0ebeb605cad7e228a5) gnm_driver: `sceGnmDingDong` implementation ### 📊 Changes **19 files changed** (+361 additions, -100 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/error_codes.h` (+1 -0) 📝 `src/core/libraries/gnmdriver/gnmdriver.cpp` (+39 -11) 📝 `src/core/libraries/gnmdriver/gnmdriver.h` (+4 -3) 📝 `src/core/libraries/videoout/video_out.cpp` (+2 -0) 📝 `src/shader_recompiler/frontend/fetch_shader.cpp` (+3 -0) 📝 `src/shader_recompiler/frontend/fetch_shader.h` (+6 -5) 📝 `src/shader_recompiler/frontend/translate/translate.cpp` (+6 -0) 📝 `src/shader_recompiler/ir/passes/resource_tracking_pass.cpp` (+4 -4) 📝 `src/shader_recompiler/runtime_info.h` (+8 -0) 📝 `src/video_core/amdgpu/liverpool.cpp` (+67 -2) 📝 `src/video_core/amdgpu/pm4_cmds.h` (+108 -0) 📝 `src/video_core/amdgpu/pm4_opcodes.h` (+1 -0) 📝 `src/video_core/amdgpu/resource.h` (+48 -40) 📝 `src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp` (+8 -3) 📝 `src/video_core/texture_cache/image.cpp` (+38 -7) 📝 `src/video_core/texture_cache/image.h` (+14 -2) 📝 `src/video_core/texture_cache/image_view.cpp` (+1 -1) 📝 `src/video_core/texture_cache/texture_cache.cpp` (+3 -21) 📝 `src/video_core/texture_cache/tile_manager.cpp` (+0 -1) </details> ### 📄 Description This PR is dedicated mostly to support for ASC submissions (`dingDong`). Also, there are changes for basic instancing support. However, it doesn't handle step rates, as they will require switching to instance data pulling in a vertex shader. The next functions were added: - `sceGnmRegisterOwner` - `sceGnmRegisterResource` - `sceVideoOutGetDeviceCapabilityInfo` (correct lib version) - `sceGnmDingDong` --- <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#1394
No description provided.