[PR #2680] [MERGED] Implement DmaDataSrc::MemoryUsingL2 and DmaDataDst::MemoryUsingL2 #2906

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

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/2680
Author: @kalaposfos13
Created: 3/24/2025
Status: Merged
Merged: 3/26/2025
Merged by: @georgemoralis

Base: mainHead: dmadata-l2


📝 Commits (2)

  • 784e055 Implement DmaDataSrc::MemoryUsingL2 and DmaDataDst::MemoryUsingL2
  • 600d368 Add L2 handling to the other place it's used

📊 Changes

2 files changed (+22 additions, -10 deletions)

View changed files

📝 src/video_core/amdgpu/liverpool.cpp (+20 -10)
📝 src/video_core/amdgpu/pm4_cmds.h (+2 -0)

📄 Description

Implements the above two DmaData source and destination types, by handling them the same way as ::Memory is handled. This is based on observations in CUSA01127 (which uses this), and also code from fpPS4:
https://github.com/red-prig/fpPS4/blob/kern/chip/pm4defs.pas#L552-L567
https://github.com/red-prig/fpPS4/blob/kern/chip/pm4_me.pas#L2978

Fixes the following unreachable in CUSA01127, CUSA00575 and CUSA00211:

[Debug] <Critical> liverpool.cpp:ProcessGraphics:627: Unreachable code!
WriteData src_sel = 3, dst_sel = 3

🔄 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/2680 **Author:** [@kalaposfos13](https://github.com/kalaposfos13) **Created:** 3/24/2025 **Status:** ✅ Merged **Merged:** 3/26/2025 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `dmadata-l2` --- ### 📝 Commits (2) - [`784e055`](https://github.com/shadps4-emu/shadPS4/commit/784e055a81cd05488419c17797098add55509a0f) Implement DmaDataSrc::MemoryUsingL2 and DmaDataDst::MemoryUsingL2 - [`600d368`](https://github.com/shadps4-emu/shadPS4/commit/600d368e8d34ebafb239bdc4c89319d8d87cf18f) Add L2 handling to the other place it's used ### 📊 Changes **2 files changed** (+22 additions, -10 deletions) <details> <summary>View changed files</summary> 📝 `src/video_core/amdgpu/liverpool.cpp` (+20 -10) 📝 `src/video_core/amdgpu/pm4_cmds.h` (+2 -0) </details> ### 📄 Description Implements the above two DmaData source and destination types, by handling them the same way as ::Memory is handled. This is based on observations in CUSA01127 (which uses this), and also code from fpPS4: https://github.com/red-prig/fpPS4/blob/kern/chip/pm4defs.pas#L552-L567 https://github.com/red-prig/fpPS4/blob/kern/chip/pm4_me.pas#L2978 Fixes the following unreachable in CUSA01127, CUSA00575 and CUSA00211: ``` [Debug] <Critical> liverpool.cpp:ProcessGraphics:627: Unreachable code! WriteData src_sel = 3, dst_sel = 3 ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:01:43 +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#2906
No description provided.