mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 00:05:58 +03:00
[PR #3941] [MERGED] video_core: Small readback optimization #3814
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#3814
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/3941
Author: @raphaelthegreat
Created: 1/20/2026
Status: ✅ Merged
Merged: 1/21/2026
Merged by: @georgemoralis
Base:
main← Head:readback-opt2📝 Commits (4)
1e75183pm4_cmds: Handle nop packet overflowa667541liverpool: Detect DispatchDirect patches and promote to DispatchIndirectb6464b7clang..1df2d8flog removed📊 Changes
2 files changed (+26 additions, -3 deletions)
View changed files
📝
src/video_core/amdgpu/liverpool.cpp(+25 -2)📝
src/video_core/amdgpu/pm4_cmds.h(+1 -1)📄 Description
This is an implementation of the DispatchDirect self modification elimination patch with a simple implementation on its own that shouldn't break anything hopefully. It detects when a DmaData is copying memory to the current command list, and specifically to the dimentions of a DispatchDirect packet and a) skips the copy so the region isn't marked as gpu modified and flushed b) patches the packet into an indirect dispatch to the source buffer.
Should provide a speedup to affected cases and allow them to avoid device loss errors when readbacks are disabled
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.