mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-25 15:56:00 +03:00
[PR #128] [MERGED] gnm_driver: Gnm eventq and GPU flips #1318
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#1318
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/128
Author: @psucien
Created: 5/8/2024
Status: ✅ Merged
Merged: 5/10/2024
Merged by: @georgemoralis
Base:
main← Head:gnm_driver/basic_sync📝 Commits (10+)
4206ec3video_core, kernel: added gfx eop event handling50bcd13video_out: added display buffer labels5f83ad2gnm_driver:sceGnmInsertWaitFlipDoneadded72ea0begnm_driver:sceGnmSetEmbeddedVsShaderadded4746f51gnm_driver: various fixesc7cfe26video_out:sceVideoOutSubmitEopFlipstub added498c5ebgnm_driver:sceGnmSubmitAndFlipCommandBuffersimplementationbfb1813amdgpu: EOP irq and dummy PM4 handlers8e0c67famdgpu:wait_reg_memandwrite_dataimplementation581688camdgpu: EOS event packet handling📊 Changes
16 files changed (+636 additions, -75 deletions)
View changed files
📝
src/core/libraries/gnmdriver/gnmdriver.cpp(+221 -31)📝
src/core/libraries/gnmdriver/gnmdriver.h(+12 -6)📝
src/core/libraries/kernel/event_queue.cpp(+8 -0)📝
src/core/libraries/kernel/event_queue.h(+13 -1)📝
src/core/libraries/kernel/event_queues.cpp(+13 -8)📝
src/core/libraries/kernel/event_queues.h(+1 -0)📝
src/core/libraries/kernel/libkernel.cpp(+1 -0)📝
src/core/libraries/videoout/driver.cpp(+10 -2)📝
src/core/libraries/videoout/driver.h(+9 -1)📝
src/core/libraries/videoout/video_out.cpp(+22 -0)📝
src/core/libraries/videoout/video_out.h(+4 -0)➕
src/core/platform.h(+76 -0)📝
src/video_core/amdgpu/liverpool.cpp(+45 -12)📝
src/video_core/amdgpu/liverpool.h(+19 -1)📝
src/video_core/amdgpu/pm4_cmds.h(+181 -12)📝
src/video_core/amdgpu/pm4_opcodes.h(+1 -1)📄 Description
This PR implements Gnm EOP event handling and support for GPU submitted flips.
The next functions were added
GnmDriver:
sceGnmAddEqEventsceGnmDeleteEqEventsceGnmInsertWaitFlipDonesceGnmSetEmbeddedVsShadersceGnmSubmitAndFlipCommandBuffersVideoOut:
sceVideoOutGetBufferLabelAddresssceVideoOutSubmitEopFlipTo maintain proper sync between GPU and presenter, a new entity
Platform::IrqControllerwas introduced.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.