[PR #2011] [MERGED] gnmdriver: Implement neo mode differences. #2436

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

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/2011
Author: @squidbus
Created: 1/1/2025
Status: Merged
Merged: 1/3/2025
Merged by: @psucien

Base: mainHead: gnm-neo


📝 Commits (2)

  • 64f057c gnmdriver: Implement neo mode differences.
  • 52da7eb gnmdriver: Move init sequences to separate file.

📊 Changes

4 files changed (+696 additions, -282 deletions)

View changed files

📝 CMakeLists.txt (+1 -0)
📝 src/core/libraries/gnmdriver/gnmdriver.cpp (+148 -282)
src/core/libraries/gnmdriver/gnmdriver_init.h (+542 -0)
📝 src/video_core/amdgpu/pm4_cmds.h (+5 -0)

📄 Description

Implements Neo mode differences for gnmdriver. Init sequences have a few differences, and a few command buffer writes have changed. For example, IA_MULTI_VGT_PARAM is now (conditionally) used as a uconfig register instead of context, and many draws have a bit added to the command from the flags.

All init sequences have been verified to equal that of the real gnm driver using both regular and neo modes, both with and without an extra ioctl condition passing.

Draft for now because there's still two ioctl based conditions I don't know the meaning of, currently using bool constants.


🔄 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/2011 **Author:** [@squidbus](https://github.com/squidbus) **Created:** 1/1/2025 **Status:** ✅ Merged **Merged:** 1/3/2025 **Merged by:** [@psucien](https://github.com/psucien) **Base:** `main` ← **Head:** `gnm-neo` --- ### 📝 Commits (2) - [`64f057c`](https://github.com/shadps4-emu/shadPS4/commit/64f057c52807f48fd5543ef604b6b979d9dbd735) gnmdriver: Implement neo mode differences. - [`52da7eb`](https://github.com/shadps4-emu/shadPS4/commit/52da7eb6b89dcb627e33741131ed7b58e8dcc345) gnmdriver: Move init sequences to separate file. ### 📊 Changes **4 files changed** (+696 additions, -282 deletions) <details> <summary>View changed files</summary> 📝 `CMakeLists.txt` (+1 -0) 📝 `src/core/libraries/gnmdriver/gnmdriver.cpp` (+148 -282) ➕ `src/core/libraries/gnmdriver/gnmdriver_init.h` (+542 -0) 📝 `src/video_core/amdgpu/pm4_cmds.h` (+5 -0) </details> ### 📄 Description Implements Neo mode differences for `gnmdriver`. Init sequences have a few differences, and a few command buffer writes have changed. For example, `IA_MULTI_VGT_PARAM` is now (conditionally) used as a uconfig register instead of context, and many draws have a bit added to the command from the flags. All init sequences have been verified to equal that of the real gnm driver using both regular and neo modes, both with and without an extra ioctl condition passing. Draft for now because there's still two `ioctl` based conditions I don't know the meaning of, currently using `bool` constants. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 21:16:30 +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#2436
No description provided.