[PR #2889] [MERGED] gnm: Implement sceGnmDrawIndexIndirectMulti #3055

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

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/2889
Author: @squidbus
Created: 5/9/2025
Status: Merged
Merged: 5/9/2025
Merged by: @squidbus

Base: mainHead: sceGnmDrawIndexIndirectMulti


📝 Commits (1)

  • c60264d gnm: Implement sceGnmDrawIndexIndirectMulti

📊 Changes

5 files changed (+86 additions, -20 deletions)

View changed files

📝 src/core/libraries/gnmdriver/gnmdriver.cpp (+31 -7)
📝 src/core/libraries/gnmdriver/gnmdriver.h (+3 -1)
📝 src/video_core/amdgpu/liverpool.cpp (+29 -8)
📝 src/video_core/amdgpu/pm4_cmds.h (+22 -4)
📝 src/video_core/renderer_vulkan/vk_instance.cpp (+1 -0)

📄 Description

Implements sceGnmDrawIndexIndirectMulti. It seems like it would be implemented using the same packet as sceGnmDrawIndexIndirectCountMulti with the count address disabled, but it actually seems to be a different packet ID and structure. I'm guessing this is due to it being an early version of the packet or something in the PS4 GPU.

Also fixed the validation condition for sceGnmDrawIndexIndirectCountMulti a bit.

Used by Final Fantasy XV.


🔄 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/2889 **Author:** [@squidbus](https://github.com/squidbus) **Created:** 5/9/2025 **Status:** ✅ Merged **Merged:** 5/9/2025 **Merged by:** [@squidbus](https://github.com/squidbus) **Base:** `main` ← **Head:** `sceGnmDrawIndexIndirectMulti` --- ### 📝 Commits (1) - [`c60264d`](https://github.com/shadps4-emu/shadPS4/commit/c60264d9cebc4d772feac51e85a399a57078abe2) gnm: Implement sceGnmDrawIndexIndirectMulti ### 📊 Changes **5 files changed** (+86 additions, -20 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/gnmdriver/gnmdriver.cpp` (+31 -7) 📝 `src/core/libraries/gnmdriver/gnmdriver.h` (+3 -1) 📝 `src/video_core/amdgpu/liverpool.cpp` (+29 -8) 📝 `src/video_core/amdgpu/pm4_cmds.h` (+22 -4) 📝 `src/video_core/renderer_vulkan/vk_instance.cpp` (+1 -0) </details> ### 📄 Description Implements `sceGnmDrawIndexIndirectMulti`. It seems like it would be implemented using the same packet as `sceGnmDrawIndexIndirectCountMulti` with the count address disabled, but it actually seems to be a different packet ID and structure. I'm guessing this is due to it being an early version of the packet or something in the PS4 GPU. Also fixed the validation condition for `sceGnmDrawIndexIndirectCountMulti` a bit. Used by Final Fantasy XV. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:02:16 +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#3055
No description provided.