[PR #4038] [MERGED] Lib.GnmDriver: Fix flip arg for sceGnmSubmitAndFlipCommandBuffers #3890

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

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/4038
Author: @StevenMiller123
Created: 2/15/2026
Status: Merged
Merged: 2/15/2026
Merged by: @georgemoralis

Base: mainHead: fix-flip-arg


📝 Commits (3)

  • 2d2bcfd There is a mountain of evidence suggesting that flip_arg for these functions should be a 64-bit integer.
  • ff13729 oops
  • e75d796 Fix sceVideoOutGetEventData

📊 Changes

4 files changed (+9 additions, -9 deletions)

View changed files

📝 src/core/libraries/gnmdriver/gnmdriver.cpp (+3 -3)
📝 src/core/libraries/gnmdriver/gnmdriver.h (+2 -2)
📝 src/core/libraries/videoout/video_out.cpp (+3 -3)
📝 src/core/libraries/videoout/video_out.h (+1 -1)

📄 Description

Based on some wacky crap Unity does, these functions appear to take a 64-bit value for the flip arg.
Fixing this, along with a bug in sceVideoOutGetEventData, fixes the handful of Unity games crashing on an exception in their GfxFlipThread after a sceKernelAllocateDirectMemory call fails.

This fixes crashing in:

  • Bloons TD 6
  • Yu-Gi-Oh! Master Duel
image image

Based on what I know, this should also fix issues in:

  • FINAL FANTASY
  • FINAL FANTASY II
  • FINAL FANTASY III
  • FINAL FANTASY IV
  • FINAL FANTASY V
  • FINAL FANTASY VI

🔄 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/4038 **Author:** [@StevenMiller123](https://github.com/StevenMiller123) **Created:** 2/15/2026 **Status:** ✅ Merged **Merged:** 2/15/2026 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `fix-flip-arg` --- ### 📝 Commits (3) - [`2d2bcfd`](https://github.com/shadps4-emu/shadPS4/commit/2d2bcfda60010e75717a217ab130a18fbb4b99a1) There is a mountain of evidence suggesting that flip_arg for these functions should be a 64-bit integer. - [`ff13729`](https://github.com/shadps4-emu/shadPS4/commit/ff137295b704bf48c238dbe12f1524e8e8b29920) oops - [`e75d796`](https://github.com/shadps4-emu/shadPS4/commit/e75d796df6cb7e251b9e08f38fe1cdc10c7dcdd2) Fix sceVideoOutGetEventData ### 📊 Changes **4 files changed** (+9 additions, -9 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/gnmdriver/gnmdriver.cpp` (+3 -3) 📝 `src/core/libraries/gnmdriver/gnmdriver.h` (+2 -2) 📝 `src/core/libraries/videoout/video_out.cpp` (+3 -3) 📝 `src/core/libraries/videoout/video_out.h` (+1 -1) </details> ### 📄 Description Based on some wacky crap Unity does, these functions appear to take a 64-bit value for the flip arg. Fixing this, along with a bug in sceVideoOutGetEventData, fixes the handful of Unity games crashing on an exception in their GfxFlipThread after a sceKernelAllocateDirectMemory call fails. This fixes crashing in: - Bloons TD 6 - Yu-Gi-Oh! Master Duel <img width="1282" height="752" alt="image" src="https://github.com/user-attachments/assets/6b88f145-51be-4c17-93eb-bb105b8127bb" /> <img width="1282" height="752" alt="image" src="https://github.com/user-attachments/assets/eb626bb4-19af-47fe-b6d6-79011312582f" /> Based on what I know, this should also fix issues in: - FINAL FANTASY - FINAL FANTASY II - FINAL FANTASY III - FINAL FANTASY IV - FINAL FANTASY V - FINAL FANTASY VI --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:05:21 +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#3890
No description provided.